diff --git a/system/codeigniter/Base4.php b/system/codeigniter/Base4.php
index f3ec035..4d276f4 100644
--- a/system/codeigniter/Base4.php
+++ b/system/codeigniter/Base4.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -35,7 +35,7 @@
  * @package		CodeIgniter
  * @subpackage	codeigniter
  * @category	front-controller
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/
  */
  class CI_Base extends CI_Loader {
diff --git a/system/codeigniter/Base5.php b/system/codeigniter/Base5.php
index 3c43273..9b59197 100644
--- a/system/codeigniter/Base5.php
+++ b/system/codeigniter/Base5.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -26,7 +26,7 @@
  * @package		CodeIgniter
  * @subpackage	codeigniter
  * @category	front-controller
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/
  */
 
diff --git a/system/codeigniter/CodeIgniter.php b/system/codeigniter/CodeIgniter.php
index 39d07b0..fc95248 100644
--- a/system/codeigniter/CodeIgniter.php
+++ b/system/codeigniter/CodeIgniter.php
@@ -1 +1,267 @@
-<?php  if (!defined('BASEPATH')) exit('No direct script access allowed');/** * CodeIgniter * * An open source application development framework for PHP 4.3.2 or newer * * @package		CodeIgniter * @author		Rick Ellis * @copyright	Copyright (c) 2006, EllisLab, Inc. * @license		http://www.codeigniter.com/user_guide/license.html * @link		http://www.codeigniter.com * @since		Version 1.0 * @filesource */// ------------------------------------------------------------------------/** * System Front Controller * * Loads the base classes and executes the request. * * @package		CodeIgniter * @subpackage	codeigniter * @category	Front-controller * @author		Rick Ellis * @link		http://www.codeigniter.com/user_guide/ */// CI Versiondefine('CI_VERSION',	'1.5.5');/* * ------------------------------------------------------ *  Load the global functions * ------------------------------------------------------ */require(BASEPATH.'codeigniter/Common'.EXT);/* * ------------------------------------------------------ *  Load the compatibility override functions * ------------------------------------------------------ */require(BASEPATH.'codeigniter/Compat'.EXT);	/* * ------------------------------------------------------ *  Define a custom error handler so we can log PHP errors * ------------------------------------------------------ */set_error_handler('_exception_handler');set_magic_quotes_runtime(0); // Kill magic quotes/* * ------------------------------------------------------ *  Start the timer... tick tock tick tock... * ------------------------------------------------------ */$BM =& load_class('Benchmark');$BM->mark('total_execution_time_start');$BM->mark('loading_time_base_classes_start');/* * ------------------------------------------------------ *  Instantiate the hooks class * ------------------------------------------------------ */$EXT =& load_class('Hooks');/* * ------------------------------------------------------ *  Is there a "pre_system" hook? * ------------------------------------------------------ */$EXT->_call_hook('pre_system');/* * ------------------------------------------------------ *  Instantiate the base classes * ------------------------------------------------------ */$CFG =& load_class('Config');$URI =& load_class('URI');$RTR =& load_class('Router');$OUT =& load_class('Output');/* * ------------------------------------------------------ *	Is there a valid cache file?  If so, we're done... * ------------------------------------------------------ */if ($EXT->_call_hook('cache_override') === FALSE){	if ($OUT->_display_cache($CFG, $RTR) == TRUE)	{		exit;	}}/* * ------------------------------------------------------ *  Load the remaining base classes * ------------------------------------------------------ */$IN		=& load_class('Input');$LANG	=& load_class('Language');/* * ------------------------------------------------------ *  Load the app controller and local controller * ------------------------------------------------------ * *  Note: Due to the poor object handling in PHP 4 we'll *  conditionally load different versions of the base *  class.  Retaining PHP 4 compatibility requires a bit of a hack. * *  Note: The Loader class needs to be included first * */if (floor(phpversion()) < 5){	load_class('Loader', FALSE);	require(BASEPATH.'codeigniter/Base4'.EXT);}else{	require(BASEPATH.'codeigniter/Base5'.EXT);}// Load the base controller classload_class('Controller', FALSE);// Load the local application controller// Note: The Router class automatically validates the controller path.  If this include fails it // means that the default controller in the Routes.php file is not resolving to something valid.if ( ! file_exists(APPPATH.'controllers/'.$RTR->fetch_directory().$RTR->fetch_class().EXT)){	show_error('Unable to load your default controller.  Please make sure the controller specified in your Routes.php file is valid.');}include(APPPATH.'controllers/'.$RTR->fetch_directory().$RTR->fetch_class().EXT);// Set a mark point for benchmarking$BM->mark('loading_time_base_classes_end');/* * ------------------------------------------------------ *  Security check * ------------------------------------------------------ * *  None of the functions in the app controller or the *  loader class can be called via the URI, nor can *  controller functions that begin with an underscore */$class  = $RTR->fetch_class();$method = $RTR->fetch_method();if ( ! class_exists($class)	OR $method == 'controller'	OR substr($method, 0, 1) == '_'	OR in_array($method, get_class_methods('Controller'), TRUE)	){	show_404();}/* * ------------------------------------------------------ *  Is there a "pre_controller" hook? * ------------------------------------------------------ */$EXT->_call_hook('pre_controller');/* * ------------------------------------------------------ *  Instantiate the controller and call requested method * ------------------------------------------------------ */// Mark a start point so we can benchmark the controller$BM->mark('controller_execution_time_( '.$class.' / '.$method.' )_start');$CI = new $class();// Is this a scaffolding request?if ($RTR->scaffolding_request === TRUE){	if ($EXT->_call_hook('scaffolding_override') === FALSE)	{		$CI->_ci_scaffolding();	}}else{	/*	 * ------------------------------------------------------	 *  Is there a "post_controller_constructor" hook?	 * ------------------------------------------------------	 */	$EXT->_call_hook('post_controller_constructor');		// Is there a "remap" function?	if (method_exists($CI, '_remap'))	{		$CI->_remap($method);	}	else	{		if ( ! method_exists($CI, $method))		{			show_404();		}		// Call the requested method.		// Any URI segments present (besides the class/function) will be passed to the method for convenience				call_user_func_array(array(&$CI, $method), array_slice($URI->rsegments, (($RTR->fetch_directory() == '') ? 2 : 3)));			}}// Mark a benchmark end point$BM->mark('controller_execution_time_( '.$class.' / '.$method.' )_end');/* * ------------------------------------------------------ *  Is there a "post_controller" hook? * ------------------------------------------------------ */$EXT->_call_hook('post_controller');/* * ------------------------------------------------------ *  Send the final rendered output to the browser * ------------------------------------------------------ */if ($EXT->_call_hook('display_override') === FALSE){	$OUT->_display();}/* * ------------------------------------------------------ *  Is there a "post_system" hook? * ------------------------------------------------------ */$EXT->_call_hook('post_system');/* * ------------------------------------------------------ *  Close the DB connection if one exists * ------------------------------------------------------ */if (class_exists('CI_DB') AND isset($CI->db)){	$CI->db->close();}?>
\ No newline at end of file
+<?php  if (!defined('BASEPATH')) exit('No direct script access allowed');
+/**
+ * CodeIgniter
+ *
+ * An open source application development framework for PHP 4.3.2 or newer
+ *
+ * @package		CodeIgniter
+ * @author		ExpressionEngine Dev Team
+ * @copyright	Copyright (c) 2006, EllisLab, Inc.
+ * @license		http://www.codeigniter.com/user_guide/license.html
+ * @link		http://www.codeigniter.com
+ * @since		Version 1.0
+ * @filesource
+ */
+
+// ------------------------------------------------------------------------
+
+/**
+ * System Front Controller
+ *
+ * Loads the base classes and executes the request.
+ *
+ * @package		CodeIgniter
+ * @subpackage	codeigniter
+ * @category	Front-controller
+ * @author		ExpressionEngine Dev Team
+ * @link		http://www.codeigniter.com/user_guide/
+ */
+
+// CI Version
+define('CI_VERSION',	'1.5.5');
+
+/*
+ * ------------------------------------------------------
+ *  Load the global functions
+ * ------------------------------------------------------
+ */
+require(BASEPATH.'codeigniter/Common'.EXT);
+
+/*
+ * ------------------------------------------------------
+ *  Load the compatibility override functions
+ * ------------------------------------------------------
+ */
+require(BASEPATH.'codeigniter/Compat'.EXT);
+	
+/*
+ * ------------------------------------------------------
+ *  Define a custom error handler so we can log PHP errors
+ * ------------------------------------------------------
+ */
+set_error_handler('_exception_handler');
+set_magic_quotes_runtime(0); // Kill magic quotes
+
+/*
+ * ------------------------------------------------------
+ *  Start the timer... tick tock tick tock...
+ * ------------------------------------------------------
+ */
+
+$BM =& load_class('Benchmark');
+$BM->mark('total_execution_time_start');
+$BM->mark('loading_time_base_classes_start');
+
+/*
+ * ------------------------------------------------------
+ *  Instantiate the hooks class
+ * ------------------------------------------------------
+ */
+
+$EXT =& load_class('Hooks');
+
+/*
+ * ------------------------------------------------------
+ *  Is there a "pre_system" hook?
+ * ------------------------------------------------------
+ */
+$EXT->_call_hook('pre_system');
+
+/*
+ * ------------------------------------------------------
+ *  Instantiate the base classes
+ * ------------------------------------------------------
+ */
+
+$CFG =& load_class('Config');
+$URI =& load_class('URI');
+$RTR =& load_class('Router');
+$OUT =& load_class('Output');
+
+/*
+ * ------------------------------------------------------
+ *	Is there a valid cache file?  If so, we're done...
+ * ------------------------------------------------------
+ */
+
+if ($EXT->_call_hook('cache_override') === FALSE)
+{
+	if ($OUT->_display_cache($CFG, $RTR) == TRUE)
+	{
+		exit;
+	}
+}
+
+/*
+ * ------------------------------------------------------
+ *  Load the remaining base classes
+ * ------------------------------------------------------
+ */
+
+$IN		=& load_class('Input');
+$LANG	=& load_class('Language');
+
+/*
+ * ------------------------------------------------------
+ *  Load the app controller and local controller
+ * ------------------------------------------------------
+ *
+ *  Note: Due to the poor object handling in PHP 4 we'll
+ *  conditionally load different versions of the base
+ *  class.  Retaining PHP 4 compatibility requires a bit of a hack.
+ *
+ *  Note: The Loader class needs to be included first
+ *
+ */
+if (floor(phpversion()) < 5)
+{
+	load_class('Loader', FALSE);
+	require(BASEPATH.'codeigniter/Base4'.EXT);
+}
+else
+{
+	require(BASEPATH.'codeigniter/Base5'.EXT);
+}
+
+// Load the base controller class
+load_class('Controller', FALSE);
+
+// Load the local application controller
+// Note: The Router class automatically validates the controller path.  If this include fails it 
+// means that the default controller in the Routes.php file is not resolving to something valid.
+if ( ! file_exists(APPPATH.'controllers/'.$RTR->fetch_directory().$RTR->fetch_class().EXT))
+{
+	show_error('Unable to load your default controller.  Please make sure the controller specified in your Routes.php file is valid.');
+}
+
+include(APPPATH.'controllers/'.$RTR->fetch_directory().$RTR->fetch_class().EXT);
+
+// Set a mark point for benchmarking
+$BM->mark('loading_time_base_classes_end');
+
+
+/*
+ * ------------------------------------------------------
+ *  Security check
+ * ------------------------------------------------------
+ *
+ *  None of the functions in the app controller or the
+ *  loader class can be called via the URI, nor can
+ *  controller functions that begin with an underscore
+ */
+$class  = $RTR->fetch_class();
+$method = $RTR->fetch_method();
+
+
+if ( ! class_exists($class)
+	OR $method == 'controller'
+	OR substr($method, 0, 1) == '_'
+	OR in_array($method, get_class_methods('Controller'), TRUE)
+	)
+{
+	show_404();
+}
+
+/*
+ * ------------------------------------------------------
+ *  Is there a "pre_controller" hook?
+ * ------------------------------------------------------
+ */
+$EXT->_call_hook('pre_controller');
+
+/*
+ * ------------------------------------------------------
+ *  Instantiate the controller and call requested method
+ * ------------------------------------------------------
+ */
+
+// Mark a start point so we can benchmark the controller
+$BM->mark('controller_execution_time_( '.$class.' / '.$method.' )_start');
+
+$CI = new $class();
+
+// Is this a scaffolding request?
+if ($RTR->scaffolding_request === TRUE)
+{
+	if ($EXT->_call_hook('scaffolding_override') === FALSE)
+	{
+		$CI->_ci_scaffolding();
+	}
+}
+else
+{
+	/*
+	 * ------------------------------------------------------
+	 *  Is there a "post_controller_constructor" hook?
+	 * ------------------------------------------------------
+	 */
+	$EXT->_call_hook('post_controller_constructor');
+	
+	// Is there a "remap" function?
+	if (method_exists($CI, '_remap'))
+	{
+		$CI->_remap($method);
+	}
+	else
+	{
+		if ( ! method_exists($CI, $method))
+		{
+			show_404();
+		}
+
+		// Call the requested method.
+		// Any URI segments present (besides the class/function) will be passed to the method for convenience		
+		call_user_func_array(array(&$CI, $method), array_slice($URI->rsegments, (($RTR->fetch_directory() == '') ? 2 : 3)));		
+	}
+}
+
+// Mark a benchmark end point
+$BM->mark('controller_execution_time_( '.$class.' / '.$method.' )_end');
+
+/*
+ * ------------------------------------------------------
+ *  Is there a "post_controller" hook?
+ * ------------------------------------------------------
+ */
+$EXT->_call_hook('post_controller');
+
+/*
+ * ------------------------------------------------------
+ *  Send the final rendered output to the browser
+ * ------------------------------------------------------
+ */
+
+if ($EXT->_call_hook('display_override') === FALSE)
+{
+	$OUT->_display();
+}
+
+/*
+ * ------------------------------------------------------
+ *  Is there a "post_system" hook?
+ * ------------------------------------------------------
+ */
+$EXT->_call_hook('post_system');
+
+/*
+ * ------------------------------------------------------
+ *  Close the DB connection if one exists
+ * ------------------------------------------------------
+ */
+if (class_exists('CI_DB') AND isset($CI->db))
+{
+	$CI->db->close();
+}
+
+
+?>
\ No newline at end of file
diff --git a/system/codeigniter/Common.php b/system/codeigniter/Common.php
index eee13ab..327702f 100644
--- a/system/codeigniter/Common.php
+++ b/system/codeigniter/Common.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -23,7 +23,7 @@
  * @package		CodeIgniter
  * @subpackage	codeigniter
  * @category	Common Functions
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/
  */
 
diff --git a/system/codeigniter/Compat.php b/system/codeigniter/Compat.php
index 108b0a1..82fdf32 100644
--- a/system/codeigniter/Compat.php
+++ b/system/codeigniter/Compat.php
@@ -1,94 +1,94 @@
-<?php  if (!defined('BASEPATH')) exit('No direct script access allowed');
-/**
- * CodeIgniter
- *
- * An open source application development framework for PHP 4.3.2 or newer
- *
- * @package		CodeIgniter
- * @author		Rick Ellis
- * @copyright	Copyright (c) 2006, EllisLab, Inc.
- * @license		http://www.codeigniter.com/user_guide/license.html
- * @link		http://www.codeigniter.com
- * @since		Version 1.0
- * @filesource
- */
-
-// ------------------------------------------------------------------------
-
-/**
- * Compatibility Functions
- *
- * Function overrides for older versions of PHP or PHP environments missing
- * certain extensions / libraries
- *
- * @package		CodeIgniter
- * @subpackage	codeigniter
- * @category	Compatibility Functions
- * @author		EllisLab Development Team
- * @link		http://www.codeigniter.com/user_guide/
- */
-
-// ------------------------------------------------------------------------
-
-/*
- * PHP versions prior to 5.0 don't support the E_STRICT constant
- * so we need to explicitly define it otherwise the Exception class 
- * will generate errors when running under PHP 4
- *
- */
-if ( ! defined('E_STRICT'))
-{
-	define('E_STRICT', 2048);
-}
-
-/**
- * ctype_digit()
- *
- * Determines if a string is comprised only of digits
- * http://us.php.net/manual/en/function.ctype_digit.php
- *
- * @access	public
- * @param	string
- * @return	bool
- */
-if (! function_exists('ctype_digit'))
-{
-	function ctype_digit($str)
-	{
-		if (! is_string($str) OR $str == '')
-		{
-			return FALSE;
-		}
-		
-		return ! preg_match('/[^0-9]/', $str);
-	}	
-}
-
-// --------------------------------------------------------------------
-
-/**
- * ctype_alnum()
- *
- * Determines if a string is comprised of only alphanumeric characters
- * http://us.php.net/manual/en/function.ctype-alnum.php
- *
- * @access	public
- * @param	string
- * @return	bool
- */
-if (! function_exists('ctype_alnum'))
-{
-	function ctype_alnum($str)
-	{
-		if (! is_string($str) OR $str == '')
-		{
-			return FALSE;
-		}
-		
-		return ! preg_match('/[^0-9a-z]/i', $str);
-	}	
-}
-
-// --------------------------------------------------------------------
-
+<?php  if (!defined('BASEPATH')) exit('No direct script access allowed');
+/**
+ * CodeIgniter
+ *
+ * An open source application development framework for PHP 4.3.2 or newer
+ *
+ * @package		CodeIgniter
+ * @author		ExpressionEngine Dev Team
+ * @copyright	Copyright (c) 2006, EllisLab, Inc.
+ * @license		http://www.codeigniter.com/user_guide/license.html
+ * @link		http://www.codeigniter.com
+ * @since		Version 1.0
+ * @filesource
+ */
+
+// ------------------------------------------------------------------------
+
+/**
+ * Compatibility Functions
+ *
+ * Function overrides for older versions of PHP or PHP environments missing
+ * certain extensions / libraries
+ *
+ * @package		CodeIgniter
+ * @subpackage	codeigniter
+ * @category	Compatibility Functions
+ * @author		EllisLab Development Team
+ * @link		http://www.codeigniter.com/user_guide/
+ */
+
+// ------------------------------------------------------------------------
+
+/*
+ * PHP versions prior to 5.0 don't support the E_STRICT constant
+ * so we need to explicitly define it otherwise the Exception class 
+ * will generate errors when running under PHP 4
+ *
+ */
+if ( ! defined('E_STRICT'))
+{
+	define('E_STRICT', 2048);
+}
+
+/**
+ * ctype_digit()
+ *
+ * Determines if a string is comprised only of digits
+ * http://us.php.net/manual/en/function.ctype_digit.php
+ *
+ * @access	public
+ * @param	string
+ * @return	bool
+ */
+if (! function_exists('ctype_digit'))
+{
+	function ctype_digit($str)
+	{
+		if (! is_string($str) OR $str == '')
+		{
+			return FALSE;
+		}
+		
+		return ! preg_match('/[^0-9]/', $str);
+	}	
+}
+
+// --------------------------------------------------------------------
+
+/**
+ * ctype_alnum()
+ *
+ * Determines if a string is comprised of only alphanumeric characters
+ * http://us.php.net/manual/en/function.ctype-alnum.php
+ *
+ * @access	public
+ * @param	string
+ * @return	bool
+ */
+if (! function_exists('ctype_alnum'))
+{
+	function ctype_alnum($str)
+	{
+		if (! is_string($str) OR $str == '')
+		{
+			return FALSE;
+		}
+		
+		return ! preg_match('/[^0-9a-z]/i', $str);
+	}	
+}
+
+// --------------------------------------------------------------------
+
 ?>
\ No newline at end of file
diff --git a/system/database/DB.php b/system/database/DB.php
index 425c807..b059e76 100644
--- a/system/database/DB.php
+++ b/system/database/DB.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -19,7 +19,7 @@
  * Initialize the database
  *
  * @category	Database
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/database/
  */
 function &DB($params = '', $active_record = FALSE)
diff --git a/system/database/DB_active_rec.php b/system/database/DB_active_rec.php
index c986dde..ace2a27 100644
--- a/system/database/DB_active_rec.php
+++ b/system/database/DB_active_rec.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -23,7 +23,7 @@
  * @package		CodeIgniter
  * @subpackage	Drivers
  * @category	Database
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/database/
  */
 class CI_DB_active_record extends CI_DB_driver {
diff --git a/system/database/DB_cache.php b/system/database/DB_cache.php
index 77b9515..ac297ac 100644
--- a/system/database/DB_cache.php
+++ b/system/database/DB_cache.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -19,7 +19,7 @@
  * Database Cache Class
  *
  * @category	Database
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/database/
  */
 class CI_DB_Cache {
diff --git a/system/database/DB_driver.php b/system/database/DB_driver.php
index c2fa70a..bffdfc6 100644
--- a/system/database/DB_driver.php
+++ b/system/database/DB_driver.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -25,7 +25,7 @@
  * @package		CodeIgniter
  * @subpackage	Drivers
  * @category	Database
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/database/
  */
 class CI_DB_driver {
diff --git a/system/database/DB_forge.php b/system/database/DB_forge.php
index d025894..d4f1fae 100644
--- a/system/database/DB_forge.php
+++ b/system/database/DB_forge.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -19,7 +19,7 @@
  * Database Utility Class
  *
  * @category	Database
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/database/
  */
 class CI_DB_forge {
diff --git a/system/database/DB_result.php b/system/database/DB_result.php
index 36eddd8..7b5b384 100644
--- a/system/database/DB_result.php
+++ b/system/database/DB_result.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -23,7 +23,7 @@
  * class for the specific database will extend and instantiate it.
  *
  * @category	Database
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/database/
  */
 class CI_DB_result {
diff --git a/system/database/DB_utility.php b/system/database/DB_utility.php
index 372c88f..513664b 100644
--- a/system/database/DB_utility.php
+++ b/system/database/DB_utility.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -19,7 +19,7 @@
  * Database Utility Class
  *
  * @category	Database
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/database/
  */
 class CI_DB_utility extends CI_DB_forge {
diff --git a/system/database/drivers/mssql/mssql_driver.php b/system/database/drivers/mssql/mssql_driver.php
index 71d6c42..6b453ab 100644
--- a/system/database/drivers/mssql/mssql_driver.php
+++ b/system/database/drivers/mssql/mssql_driver.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -25,7 +25,7 @@
  * @package		CodeIgniter
  * @subpackage	Drivers
  * @category	Database
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/database/
  */
 class CI_DB_mssql_driver extends CI_DB {
diff --git a/system/database/drivers/mssql/mssql_forge.php b/system/database/drivers/mssql/mssql_forge.php
index 63a9d83..eda308f 100644
--- a/system/database/drivers/mssql/mssql_forge.php
+++ b/system/database/drivers/mssql/mssql_forge.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -19,7 +19,7 @@
  * MS SQL Forge Class
  *
  * @category	Database
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/database/
  */
 class CI_DB_mssql_forge extends CI_DB_forge {
diff --git a/system/database/drivers/mssql/mssql_result.php b/system/database/drivers/mssql/mssql_result.php
index 66afd83..ca3ca4b 100644
--- a/system/database/drivers/mssql/mssql_result.php
+++ b/system/database/drivers/mssql/mssql_result.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -21,7 +21,7 @@
  * This class extends the parent result class: CI_DB_result
  *
  * @category	Database
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/database/
  */
 class CI_DB_mssql_result extends CI_DB_result {
diff --git a/system/database/drivers/mssql/mssql_utility.php b/system/database/drivers/mssql/mssql_utility.php
index b020a2a..0852712 100644
--- a/system/database/drivers/mssql/mssql_utility.php
+++ b/system/database/drivers/mssql/mssql_utility.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -19,7 +19,7 @@
  * MS SQL Utility Class
  *
  * @category	Database
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/database/
  */
 class CI_DB_mssql_utility extends CI_DB_utility {
diff --git a/system/database/drivers/mysql/mysql_driver.php b/system/database/drivers/mysql/mysql_driver.php
index 9ba37b4..e876deb 100644
--- a/system/database/drivers/mysql/mysql_driver.php
+++ b/system/database/drivers/mysql/mysql_driver.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -25,7 +25,7 @@
  * @package		CodeIgniter
  * @subpackage	Drivers
  * @category	Database
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/database/
  */
 class CI_DB_mysql_driver extends CI_DB {
diff --git a/system/database/drivers/mysql/mysql_forge.php b/system/database/drivers/mysql/mysql_forge.php
index 8a918c0..71327f5 100644
--- a/system/database/drivers/mysql/mysql_forge.php
+++ b/system/database/drivers/mysql/mysql_forge.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -19,7 +19,7 @@
  * MySQL Forge Class
  *
  * @category	Database
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/database/
  */
 class CI_DB_mysql_forge extends CI_DB_forge {
diff --git a/system/database/drivers/mysql/mysql_result.php b/system/database/drivers/mysql/mysql_result.php
index d1d742a..bfbac29 100644
--- a/system/database/drivers/mysql/mysql_result.php
+++ b/system/database/drivers/mysql/mysql_result.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -21,7 +21,7 @@
  * This class extends the parent result class: CI_DB_result
  *
  * @category	Database
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/database/
  */
 class CI_DB_mysql_result extends CI_DB_result {
diff --git a/system/database/drivers/mysql/mysql_utility.php b/system/database/drivers/mysql/mysql_utility.php
index 220af86..38feaaf 100644
--- a/system/database/drivers/mysql/mysql_utility.php
+++ b/system/database/drivers/mysql/mysql_utility.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -19,7 +19,7 @@
  * MySQL Utility Class
  *
  * @category	Database
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/database/
  */
 class CI_DB_mysql_utility extends CI_DB_utility {
diff --git a/system/database/drivers/mysqli/mysqli_driver.php b/system/database/drivers/mysqli/mysqli_driver.php
index e548fb0..bfdabe1 100644
--- a/system/database/drivers/mysqli/mysqli_driver.php
+++ b/system/database/drivers/mysqli/mysqli_driver.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -25,7 +25,7 @@
  * @package		CodeIgniter
  * @subpackage	Drivers
  * @category	Database
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/database/
  */
 class CI_DB_mysqli_driver extends CI_DB {
diff --git a/system/database/drivers/mysqli/mysqli_forge.php b/system/database/drivers/mysqli/mysqli_forge.php
index 3da5d2c..388c665 100644
--- a/system/database/drivers/mysqli/mysqli_forge.php
+++ b/system/database/drivers/mysqli/mysqli_forge.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -19,7 +19,7 @@
  * MySQLi Forge Class
  *
  * @category	Database
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/database/
  */
 class CI_DB_mysqli_forge extends CI_DB_forge {
diff --git a/system/database/drivers/mysqli/mysqli_result.php b/system/database/drivers/mysqli/mysqli_result.php
index 913a7dd..6861da7 100644
--- a/system/database/drivers/mysqli/mysqli_result.php
+++ b/system/database/drivers/mysqli/mysqli_result.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -21,7 +21,7 @@
  * This class extends the parent result class: CI_DB_result
  *
  * @category	Database
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/database/
  */
 class CI_DB_mysqli_result extends CI_DB_result {
diff --git a/system/database/drivers/mysqli/mysqli_utility.php b/system/database/drivers/mysqli/mysqli_utility.php
index 869e26f..2aa5ecc 100644
--- a/system/database/drivers/mysqli/mysqli_utility.php
+++ b/system/database/drivers/mysqli/mysqli_utility.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -19,7 +19,7 @@
  * MySQLi Utility Class
  *
  * @category	Database
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/database/
  */
 class CI_DB_mysqli_utility extends CI_DB_utility {
diff --git a/system/database/drivers/oci8/oci8_driver.php b/system/database/drivers/oci8/oci8_driver.php
index 56095e9..820501c 100644
--- a/system/database/drivers/oci8/oci8_driver.php
+++ b/system/database/drivers/oci8/oci8_driver.php
@@ -4,12 +4,12 @@
  *
  * An open source application development framework for PHP 4.3.2 or newer
  *
- * @package	 CodeIgniter
- * @author	  Rick Ellis
+ * @package	 	CodeIgniter
+ * @author	  	ExpressionEngine Dev Team
  * @copyright   Copyright (c) 2006, EllisLab, Inc.
- * @license	 http://www.codeigniter.com/user_guide/license.html
+ * @license	 	http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
- * @since	   Version 1.0
+ * @since	   	Version 1.0
  * @filesource
  */
 
@@ -22,10 +22,10 @@
  * creates dynamically based on whether the active record
  * class is being used or not.
  *
- * @package	 CodeIgniter
+ * @package	 	CodeIgniter
  * @subpackage  Drivers
  * @category	Database
- * @author	  Rick Ellis
+ * @author	  	ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/database/
  */
 
diff --git a/system/database/drivers/oci8/oci8_forge.php b/system/database/drivers/oci8/oci8_forge.php
index c982e66..57f2885 100644
--- a/system/database/drivers/oci8/oci8_forge.php
+++ b/system/database/drivers/oci8/oci8_forge.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -19,7 +19,7 @@
  * Oracle Forge Class
  *
  * @category	Database
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/database/
  */
 class CI_DB_oci8_forge extends CI_DB_forge {
diff --git a/system/database/drivers/oci8/oci8_result.php b/system/database/drivers/oci8/oci8_result.php
index cb27caf..b1a703b 100644
--- a/system/database/drivers/oci8/oci8_result.php
+++ b/system/database/drivers/oci8/oci8_result.php
@@ -4,12 +4,12 @@
  *
  * An open source application development framework for PHP 4.3.2 or newer
  *
- * @package	 CodeIgniter
- * @author	  Rick Ellis
+ * @package	 	CodeIgniter
+ * @author	 	ExpressionEngine Dev Team
  * @copyright   Copyright (c) 2006, EllisLab, Inc.
- * @license	 http://www.codeigniter.com/user_guide/license.html
+ * @license	 	http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
- * @since	   Version 1.0
+ * @since	   	Version 1.0
  * @filesource
  */
 
@@ -21,7 +21,7 @@
  * This class extends the parent result class: CI_DB_result
  *
  * @category	Database
- * @author	  Rick Ellis
+ * @author	 	ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/database/
  */
 class CI_DB_oci8_result extends CI_DB_result {
diff --git a/system/database/drivers/oci8/oci8_utility.php b/system/database/drivers/oci8/oci8_utility.php
index 67296da..6b53a4f 100644
--- a/system/database/drivers/oci8/oci8_utility.php
+++ b/system/database/drivers/oci8/oci8_utility.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -19,7 +19,7 @@
  * Oracle Utility Class
  *
  * @category	Database
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/database/
  */
 class CI_DB_oci8_utility extends CI_DB_utility {
diff --git a/system/database/drivers/odbc/odbc_driver.php b/system/database/drivers/odbc/odbc_driver.php
index 03f58e2..c4a3df1 100644
--- a/system/database/drivers/odbc/odbc_driver.php
+++ b/system/database/drivers/odbc/odbc_driver.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -25,7 +25,7 @@
  * @package		CodeIgniter
  * @subpackage	Drivers
  * @category	Database
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/database/
  */
 class CI_DB_odbc_driver extends CI_DB {
diff --git a/system/database/drivers/odbc/odbc_forge.php b/system/database/drivers/odbc/odbc_forge.php
index 1d79344..455cb0f 100644
--- a/system/database/drivers/odbc/odbc_forge.php
+++ b/system/database/drivers/odbc/odbc_forge.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -19,7 +19,7 @@
  * ODBC Forge Class
  *
  * @category	Database
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/database/
  */
 class CI_DB_odbc_forge extends CI_DB_forge {
diff --git a/system/database/drivers/odbc/odbc_result.php b/system/database/drivers/odbc/odbc_result.php
index 53c3173..c818c33 100644
--- a/system/database/drivers/odbc/odbc_result.php
+++ b/system/database/drivers/odbc/odbc_result.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -21,7 +21,7 @@
  * This class extends the parent result class: CI_DB_result
  *
  * @category	Database
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/database/
  */
 class CI_DB_odbc_result extends CI_DB_result {
diff --git a/system/database/drivers/odbc/odbc_utility.php b/system/database/drivers/odbc/odbc_utility.php
index d64d15a..561a6e4 100644
--- a/system/database/drivers/odbc/odbc_utility.php
+++ b/system/database/drivers/odbc/odbc_utility.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -19,7 +19,7 @@
  * ODBC Utility Class
  *
  * @category	Database
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/database/
  */
 class CI_DB_odbc_utility extends CI_DB_utility {
diff --git a/system/database/drivers/postgre/postgre_driver.php b/system/database/drivers/postgre/postgre_driver.php
index 8ea7603..5bf87c5 100644
--- a/system/database/drivers/postgre/postgre_driver.php
+++ b/system/database/drivers/postgre/postgre_driver.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -25,7 +25,7 @@
  * @package		CodeIgniter
  * @subpackage	Drivers
  * @category	Database
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/database/
  */
 class CI_DB_postgre_driver extends CI_DB {
diff --git a/system/database/drivers/postgre/postgre_forge.php b/system/database/drivers/postgre/postgre_forge.php
index 34bbe88..e3d6a8f 100644
--- a/system/database/drivers/postgre/postgre_forge.php
+++ b/system/database/drivers/postgre/postgre_forge.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -19,7 +19,7 @@
  * Postgre Forge Class
  *
  * @category	Database
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/database/
  */
 class CI_DB_postgre_forge extends CI_DB_forge {
diff --git a/system/database/drivers/postgre/postgre_result.php b/system/database/drivers/postgre/postgre_result.php
index 9fd2a7e..d09e573 100644
--- a/system/database/drivers/postgre/postgre_result.php
+++ b/system/database/drivers/postgre/postgre_result.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -21,7 +21,7 @@
  * This class extends the parent result class: CI_DB_result
  *
  * @category	Database
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/database/
  */
 class CI_DB_postgre_result extends CI_DB_result {
diff --git a/system/database/drivers/postgre/postgre_utility.php b/system/database/drivers/postgre/postgre_utility.php
index a706d95..240e1b7 100644
--- a/system/database/drivers/postgre/postgre_utility.php
+++ b/system/database/drivers/postgre/postgre_utility.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -19,7 +19,7 @@
  * Postgre Utility Class
  *
  * @category	Database
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/database/
  */
 class CI_DB_postgre_utility extends CI_DB_utility {
diff --git a/system/database/drivers/sqlite/sqlite_driver.php b/system/database/drivers/sqlite/sqlite_driver.php
index 31b2928..60289c7 100644
--- a/system/database/drivers/sqlite/sqlite_driver.php
+++ b/system/database/drivers/sqlite/sqlite_driver.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -27,7 +27,7 @@
  * @package		CodeIgniter
  * @subpackage	Drivers
  * @category	Database
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/database/
  */
 class CI_DB_sqlite_driver extends CI_DB {
diff --git a/system/database/drivers/sqlite/sqlite_forge.php b/system/database/drivers/sqlite/sqlite_forge.php
index 54b6598..efc94fb 100644
--- a/system/database/drivers/sqlite/sqlite_forge.php
+++ b/system/database/drivers/sqlite/sqlite_forge.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -19,7 +19,7 @@
  * SQLite Forge Class
  *
  * @category	Database
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/database/
  */
 class CI_DB_sqlite_forge extends CI_DB_forge {
diff --git a/system/database/drivers/sqlite/sqlite_result.php b/system/database/drivers/sqlite/sqlite_result.php
index 0939c87..859b65f 100644
--- a/system/database/drivers/sqlite/sqlite_result.php
+++ b/system/database/drivers/sqlite/sqlite_result.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -21,7 +21,7 @@
  * This class extends the parent result class: CI_DB_result
  *
  * @category	Database
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/database/
  */
 class CI_DB_sqlite_result extends CI_DB_result {
diff --git a/system/database/drivers/sqlite/sqlite_utility.php b/system/database/drivers/sqlite/sqlite_utility.php
index 1c78c54..c2f8b9b 100644
--- a/system/database/drivers/sqlite/sqlite_utility.php
+++ b/system/database/drivers/sqlite/sqlite_utility.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -19,7 +19,7 @@
  * SQLite Utility Class
  *
  * @category	Database
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/database/
  */
 class CI_DB_sqlite_utility extends CI_DB_utility {
diff --git a/system/helpers/array_helper.php b/system/helpers/array_helper.php
index 9c44471..d559adf 100644
--- a/system/helpers/array_helper.php
+++ b/system/helpers/array_helper.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -21,7 +21,7 @@
  * @package		CodeIgniter
  * @subpackage	Helpers
  * @category	Helpers
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/helpers/array_helper.html
  */
 
diff --git a/system/helpers/cookie_helper.php b/system/helpers/cookie_helper.php
index 663ef1c..c1469a9 100644
--- a/system/helpers/cookie_helper.php
+++ b/system/helpers/cookie_helper.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -21,7 +21,7 @@
  * @package		CodeIgniter
  * @subpackage	Helpers
  * @category	Helpers
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/helpers/cookie_helper.html
  */
 
diff --git a/system/helpers/date_helper.php b/system/helpers/date_helper.php
index b80f5f7..7213c3a 100644
--- a/system/helpers/date_helper.php
+++ b/system/helpers/date_helper.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -21,7 +21,7 @@
  * @package		CodeIgniter
  * @subpackage	Helpers
  * @category	Helpers
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/helpers/date_helper.html
  */
 
diff --git a/system/helpers/directory_helper.php b/system/helpers/directory_helper.php
index 4256136..273c8ee 100644
--- a/system/helpers/directory_helper.php
+++ b/system/helpers/directory_helper.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -21,7 +21,7 @@
  * @package		CodeIgniter
  * @subpackage	Helpers
  * @category	Helpers
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/helpers/directory_helper.html
  */
 
diff --git a/system/helpers/download_helper.php b/system/helpers/download_helper.php
index 2572334..ece22d9 100644
--- a/system/helpers/download_helper.php
+++ b/system/helpers/download_helper.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -21,7 +21,7 @@
  * @package		CodeIgniter
  * @subpackage	Helpers
  * @category	Helpers
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/helpers/download_helper.html
  */
 
diff --git a/system/helpers/file_helper.php b/system/helpers/file_helper.php
index 83ef6a0..ebf30e9 100644
--- a/system/helpers/file_helper.php
+++ b/system/helpers/file_helper.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -21,7 +21,7 @@
  * @package		CodeIgniter
  * @subpackage	Helpers
  * @category	Helpers
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/helpers/file_helpers.html
  */
 
diff --git a/system/helpers/form_helper.php b/system/helpers/form_helper.php
index a727f47..5c14570 100644
--- a/system/helpers/form_helper.php
+++ b/system/helpers/form_helper.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -21,7 +21,7 @@
  * @package		CodeIgniter
  * @subpackage	Helpers
  * @category	Helpers
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/helpers/form_helper.html
  */
 
diff --git a/system/helpers/html_helper.php b/system/helpers/html_helper.php
index 48d680f..07757c2 100644
--- a/system/helpers/html_helper.php
+++ b/system/helpers/html_helper.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -21,7 +21,7 @@
  * @package		CodeIgniter
  * @subpackage	Helpers
  * @category	Helpers
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/helpers/html_helper.html
  */
 
diff --git a/system/helpers/inflector_helper.php b/system/helpers/inflector_helper.php
index 4202bd1..a72d0ce 100644
--- a/system/helpers/inflector_helper.php
+++ b/system/helpers/inflector_helper.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -21,7 +21,7 @@
  * @package		CodeIgniter
  * @subpackage	Helpers
  * @category	Helpers
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/helpers/directory_helper.html
  */
 
diff --git a/system/helpers/security_helper.php b/system/helpers/security_helper.php
index a8afd7d..44c6811 100644
--- a/system/helpers/security_helper.php
+++ b/system/helpers/security_helper.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -21,7 +21,7 @@
  * @package		CodeIgniter
  * @subpackage	Helpers
  * @category	Helpers
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/helpers/security_helper.html
  */
 
diff --git a/system/helpers/smiley_helper.php b/system/helpers/smiley_helper.php
index 86654a7..58ed20e 100644
--- a/system/helpers/smiley_helper.php
+++ b/system/helpers/smiley_helper.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -21,7 +21,7 @@
  * @package		CodeIgniter
  * @subpackage	Helpers
  * @category	Helpers
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/helpers/smiley_helper.html
  */
 
diff --git a/system/helpers/string_helper.php b/system/helpers/string_helper.php
index 765e164..6f9491b 100644
--- a/system/helpers/string_helper.php
+++ b/system/helpers/string_helper.php
@@ -1 +1,244 @@
-<?php  if (!defined('BASEPATH')) exit('No direct script access allowed');/** * CodeIgniter * * An open source application development framework for PHP 4.3.2 or newer * * @package		CodeIgniter * @author		Rick Ellis * @copyright	Copyright (c) 2006, EllisLab, Inc. * @license		http://www.codeigniter.com/user_guide/license.html * @link		http://www.codeigniter.com * @since		Version 1.0 * @filesource */// ------------------------------------------------------------------------/** * CodeIgniter String Helpers * * @package		CodeIgniter * @subpackage	Helpers * @category	Helpers * @author		Rick Ellis * @link		http://www.codeigniter.com/user_guide/helpers/string_helper.html */// ------------------------------------------------------------------------/** * Trim Slashes * * Removes any leading/traling slashes from a string: * * /this/that/theother/ * * becomes: * * this/that/theother * * @access	public * @param	string * @return	string */	function trim_slashes($str){    return trim($str, '/');} 	// ------------------------------------------------------------------------/** * Strip Slashes * * Removes slashes contained in a string or in an array * * @access	public * @param	mixed	string or array * @return	mixed	stering or array */	 function strip_slashes($str) {	if (is_array($str))	{			foreach ($str as $key => $val)		{			$str[$key] = strip_slashes($val);		}	}	else	{		$str = stripslashes($str);	}		return $str;}// ------------------------------------------------------------------------/** * Strip Quotes * * Removes single and double quotes from a string * * @access	public * @param	string * @return	string */	function strip_quotes($str){	return str_replace(array('"', "'"), '', $str);}// ------------------------------------------------------------------------/** * Quotes to Entities * * Converts single and double quotes to entities * * @access	public * @param	string * @return	string */	function quotes_to_entities($str){		return str_replace(array("\'","\"","'",'"'), array("&#39;","&quot;","&#39;","&quot;"), $str);}// ------------------------------------------------------------------------/** * Reduce Double Slashes * * Converts double slashes in a string to a single slash, * except those found in http:// * * http://www.some-site.com//index.php * * becomes: * * http://www.some-site.com/index.php * * @access	public * @param	string * @return	string */	function reduce_double_slashes($str){	return preg_replace("#([^:])//+#", "\\1/", $str);}	// ------------------------------------------------------------------------/** * Reduce Multiples * * Reduces multiple instances of a particular character.  Example: * * Fred, Bill,, Joe, Jimmy * * becomes: * * Fred, Bill, Joe, Jimmy * * @access	public * @param	string * @param	string	the character you wish to reduce * @param	bool	TRUE/FALSE - whether to trim the character from the beginning/end * @return	string */	function reduce_multiples($str, $character = ',', $trim = FALSE){	$str = preg_replace('#'.preg_quote($character, '#').'{2,}#', $character, $str);	if ($trim === TRUE)	{		$str = trim($str, $character);	}    	return $str;}	// ------------------------------------------------------------------------/** * Create a Random String * * Useful for generating passwords or hashes. * * @access	public * @param	string 	type of random string.  Options: alunum, numeric, nozero, unique * @param	integer	number of characters * @return	string */	function random_string($type = 'alnum', $len = 8){						switch($type)	{		case 'alnum'	:		case 'numeric'	:		case 'nozero'	:						switch ($type)				{					case 'alnum'	:	$pool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';						break;					case 'numeric'	:	$pool = '0123456789';						break;					case 'nozero'	:	$pool = '123456789';						break;				}				$str = '';				for ($i=0; $i < $len; $i++)				{					$str .= substr($pool, mt_rand(0, strlen($pool) -1), 1);				}				return $str;		  break;		case 'unique' : return md5(uniqid(mt_rand()));		  break;	}}// ------------------------------------------------------------------------/** * Alternator * * Allows strings to be alternated.  See docs... * * @access	public * @param	string (as many parameters as needed) * @return	string */		function alternator(){	static $i;		if (func_num_args() == 0)	{		$i = 0;		return '';	}	$args = func_get_args();	return $args[($i++ % count($args))];}// ------------------------------------------------------------------------/** * Repeater function * * @access	public * @param	string * @param	integer	number of repeats * @return	string */	function repeater($data, $num = 1){	return (($num > 0) ? str_repeat($data, $num) : '');} ?>
\ No newline at end of file
+<?php  if (!defined('BASEPATH')) exit('No direct script access allowed');
+/**
+ * CodeIgniter
+ *
+ * An open source application development framework for PHP 4.3.2 or newer
+ *
+ * @package		CodeIgniter
+ * @author		ExpressionEngine Dev Team
+ * @copyright	Copyright (c) 2006, EllisLab, Inc.
+ * @license		http://www.codeigniter.com/user_guide/license.html
+ * @link		http://www.codeigniter.com
+ * @since		Version 1.0
+ * @filesource
+ */
+
+// ------------------------------------------------------------------------
+
+/**
+ * CodeIgniter String Helpers
+ *
+ * @package		CodeIgniter
+ * @subpackage	Helpers
+ * @category	Helpers
+ * @author		ExpressionEngine Dev Team
+ * @link		http://www.codeigniter.com/user_guide/helpers/string_helper.html
+ */
+
+// ------------------------------------------------------------------------
+
+/**
+ * Trim Slashes
+ *
+ * Removes any leading/traling slashes from a string:
+ *
+ * /this/that/theother/
+ *
+ * becomes:
+ *
+ * this/that/theother
+ *
+ * @access	public
+ * @param	string
+ * @return	string
+ */	
+function trim_slashes($str)
+{
+    return trim($str, '/');
+} 
+	
+// ------------------------------------------------------------------------
+
+/**
+ * Strip Slashes
+ *
+ * Removes slashes contained in a string or in an array
+ *
+ * @access	public
+ * @param	mixed	string or array
+ * @return	mixed	stering or array
+ */	
+ function strip_slashes($str)
+ {
+	if (is_array($str))
+	{	
+		foreach ($str as $key => $val)
+		{
+			$str[$key] = strip_slashes($val);
+		}
+	}
+	else
+	{
+		$str = stripslashes($str);
+	}
+	
+	return $str;
+}
+
+// ------------------------------------------------------------------------
+
+/**
+ * Strip Quotes
+ *
+ * Removes single and double quotes from a string
+ *
+ * @access	public
+ * @param	string
+ * @return	string
+ */	
+function strip_quotes($str)
+{
+	return str_replace(array('"', "'"), '', $str);
+}
+
+// ------------------------------------------------------------------------
+
+/**
+ * Quotes to Entities
+ *
+ * Converts single and double quotes to entities
+ *
+ * @access	public
+ * @param	string
+ * @return	string
+ */	
+function quotes_to_entities($str)
+{	
+	return str_replace(array("\'","\"","'",'"'), array("&#39;","&quot;","&#39;","&quot;"), $str);
+}
+
+// ------------------------------------------------------------------------
+/**
+ * Reduce Double Slashes
+ *
+ * Converts double slashes in a string to a single slash,
+ * except those found in http://
+ *
+ * http://www.some-site.com//index.php
+ *
+ * becomes:
+ *
+ * http://www.some-site.com/index.php
+ *
+ * @access	public
+ * @param	string
+ * @return	string
+ */	
+function reduce_double_slashes($str)
+{
+	return preg_replace("#([^:])//+#", "\\1/", $str);
+}
+	
+// ------------------------------------------------------------------------
+
+/**
+ * Reduce Multiples
+ *
+ * Reduces multiple instances of a particular character.  Example:
+ *
+ * Fred, Bill,, Joe, Jimmy
+ *
+ * becomes:
+ *
+ * Fred, Bill, Joe, Jimmy
+ *
+ * @access	public
+ * @param	string
+ * @param	string	the character you wish to reduce
+ * @param	bool	TRUE/FALSE - whether to trim the character from the beginning/end
+ * @return	string
+ */	
+function reduce_multiples($str, $character = ',', $trim = FALSE)
+{
+	$str = preg_replace('#'.preg_quote($character, '#').'{2,}#', $character, $str);
+
+	if ($trim === TRUE)
+	{
+		$str = trim($str, $character);
+	}
+    
+	return $str;
+}
+	
+// ------------------------------------------------------------------------
+
+/**
+ * Create a Random String
+ *
+ * Useful for generating passwords or hashes.
+ *
+ * @access	public
+ * @param	string 	type of random string.  Options: alunum, numeric, nozero, unique
+ * @param	integer	number of characters
+ * @return	string
+ */	
+function random_string($type = 'alnum', $len = 8)
+{					
+	switch($type)
+	{
+		case 'alnum'	:
+		case 'numeric'	:
+		case 'nozero'	:
+		
+				switch ($type)
+				{
+					case 'alnum'	:	$pool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
+						break;
+					case 'numeric'	:	$pool = '0123456789';
+						break;
+					case 'nozero'	:	$pool = '123456789';
+						break;
+				}
+
+				$str = '';
+				for ($i=0; $i < $len; $i++)
+				{
+					$str .= substr($pool, mt_rand(0, strlen($pool) -1), 1);
+				}
+				return $str;
+		  break;
+		case 'unique' : return md5(uniqid(mt_rand()));
+		  break;
+	}
+}
+// ------------------------------------------------------------------------
+
+/**
+ * Alternator
+ *
+ * Allows strings to be alternated.  See docs...
+ *
+ * @access	public
+ * @param	string (as many parameters as needed)
+ * @return	string
+ */		
+function alternator()
+{
+	static $i;	
+
+	if (func_num_args() == 0)
+	{
+		$i = 0;
+		return '';
+	}
+	$args = func_get_args();
+	return $args[($i++ % count($args))];
+}
+
+// ------------------------------------------------------------------------
+
+/**
+ * Repeater function
+ *
+ * @access	public
+ * @param	string
+ * @param	integer	number of repeats
+ * @return	string
+ */	
+function repeater($data, $num = 1)
+{
+	return (($num > 0) ? str_repeat($data, $num) : '');
+} 
+
+
+?>
\ No newline at end of file
diff --git a/system/helpers/text_helper.php b/system/helpers/text_helper.php
index b75cd8f..211ef10 100644
--- a/system/helpers/text_helper.php
+++ b/system/helpers/text_helper.php
@@ -1 +1,421 @@
-<?php  if (!defined('BASEPATH')) exit('No direct script access allowed');/** * CodeIgniter * * An open source application development framework for PHP 4.3.2 or newer * * @package		CodeIgniter * @author		Rick Ellis * @copyright	Copyright (c) 2006, EllisLab, Inc. * @license		http://www.codeigniter.com/user_guide/license.html * @link		http://www.codeigniter.com * @since		Version 1.0 * @filesource */// ------------------------------------------------------------------------/** * CodeIgniter Text Helpers * * @package		CodeIgniter * @subpackage	Helpers * @category	Helpers * @author		Rick Ellis * @link		http://www.codeigniter.com/user_guide/helpers/text_helper.html */// ------------------------------------------------------------------------/** * Word Limiter * * Limits a string to X number of words. * * @access	public * @param	string * @param	integer * @param	string	the end character. Usually an ellipsis * @return	string */	function word_limiter($str, $n = 100, $end_char = '&#8230;'){	if (strlen($str) < $n)	{		return $str;	}		$words = explode(' ', preg_replace("/\s+/", ' ', preg_replace("/(\r\n|\r|\n)/", " ", $str)));		if (count($words) <= $n)	{		return $str;	}				$str = '';	for ($i = 0; $i < $n; $i++)	{		$str .= $words[$i].' ';	}	return trim($str).$end_char;}	// ------------------------------------------------------------------------/** * Character Limiter * * Limits the string based on the character count.  Preserves complete words * so the character count may not be exactly as specified. * * @access	public * @param	string * @param	integer * @param	string	the end character. Usually an ellipsis * @return	string */	function character_limiter($str, $n = 500, $end_char = '&#8230;'){	if (strlen($str) < $n)	{		return $str;	}			$str = preg_replace("/\s+/", ' ', preg_replace("/(\r\n|\r|\n)/", " ", $str));	if (strlen($str) <= $n)	{		return $str;	}										$out = "";	foreach (explode(' ', trim($str)) as $val)	{		$out .= $val.' ';					if (strlen($out) >= $n)		{			return trim($out).$end_char;		}			}}	// ------------------------------------------------------------------------/** * High ASCII to Entities * * Converts High ascii text and MS Word special characters to character entities * * @access	public * @param	string * @return	string */	function ascii_to_entities($str){   $count	= 1;   $out	= '';   $temp	= array();	   for ($i = 0, $s = strlen($str); $i < $s; $i++)   {	   $ordinal = ord($str[$i]);		   if ($ordinal < 128)	   {		   $out .= $str[$i];	   }	   else	   {		   if (count($temp) == 0)		   {			   $count = ($ordinal < 224) ? 2 : 3;		   }				   $temp[] = $ordinal;				   if (count($temp) == $count)		   {			   $number = ($count == 3) ? (($temp['0'] % 16) * 4096) + (($temp['1'] % 64) * 64) + ($temp['2'] % 64) : (($temp['0'] % 32) * 64) + ($temp['1'] % 64);			   $out .= '&#'.$number.';';			   $count = 1;			   $temp = array();		   }	   }   }   return $out;}	// ------------------------------------------------------------------------/** * Entities to ASCII * * Converts character entities back to ASCII * * @access	public * @param	string * @param	bool * @return	string */	function entities_to_ascii($str, $all = TRUE){   if (preg_match_all('/\&#(\d+)\;/', $str, $matches))   {	   for ($i = 0, $s = count($matches['0']); $i < $s; $i++)	   {						   $digits = $matches['1'][$i];		   $out = '';		   if ($digits < 128)		   {			   $out .= chr($digits);				   }		   elseif ($digits < 2048)		   {			   $out .= chr(192 + (($digits - ($digits % 64)) / 64));			   $out .= chr(128 + ($digits % 64));		   }		   else		   {			   $out .= chr(224 + (($digits - ($digits % 4096)) / 4096));			   $out .= chr(128 + ((($digits % 4096) - ($digits % 64)) / 64));			   $out .= chr(128 + ($digits % 64));		   }		   $str = str_replace($matches['0'][$i], $out, $str);					   }   }   if ($all)   {	   $str = str_replace(array("&amp;", "&lt;", "&gt;", "&quot;", "&apos;", "&#45;"),						  array("&","<",">","\"", "'", "-"),						  $str);   }   return $str;}	// ------------------------------------------------------------------------/** * Word Censoring Function * * Supply a string and an array of disallowed words and any * matched words will be converted to #### or to the replacement * word you've submitted. * * @access	public * @param	string	the text string * @param	string	the array of censoered words * @param	string	the optional replacement value * @return	string */	function word_censor($str, $censored, $replacement = ''){	if ( ! is_array($censored))	{		return $str;	}	$str = ' '.$str.' ';	foreach ($censored as $badword)	{		if ($replacement != '')		{			$str = preg_replace("/\b(".str_replace('\*', '\w*?', preg_quote($badword)).")\b/i", $replacement, $str);		}		else		{			$str = preg_replace("/\b(".str_replace('\*', '\w*?', preg_quote($badword)).")\b/ie", "str_repeat('#', strlen('\\1'))", $str);		}	}		return trim($str);}	// ------------------------------------------------------------------------/** * Code Highlighter * * Colorizes code strings * * @access	public * @param	string	the text string * @return	string */	function highlight_code($str){			// The highlight string function encodes and highlights	// brackets so we need them to start raw	$str = str_replace(array('&lt;', '&gt;'), array('<', '>'), $str);		// Replace any existing PHP tags to temporary markers so they don't accidentally	// break the string out of PHP, and thus, thwart the highlighting.		$str = str_replace(array('&lt;?php', '?&gt;',  '\\'), array('phptagopen', 'phptagclose', 'backslashtmp'), $str);			// The highlight_string function requires that the text be surrounded	// by PHP tags.  Since we don't know if A) the submitted text has PHP tags,	// or B) whether the PHP tags enclose the entire string, we will add our	// own PHP tags around the string along with some markers to make replacement easier later		$str = '<?php //tempstart'."\n".$str.'//tempend ?>';		// All the magic happens here, baby!	$str = highlight_string($str, TRUE);	// Prior to PHP 5, the highlight function used icky font tags	// so we'll replace them with span tags.		if (abs(phpversion()) < 5)	{		$str = str_replace(array('<font ', '</font>'), array('<span ', '</span>'), $str);		$str = preg_replace('#color="(.*?)"#', 'style="color: \\1"', $str);	}		// Remove our artificially added PHP	$str = preg_replace("#\<code\>.+?//tempstart\<br />\</span\>#is", "<code>\n", $str);	$str = preg_replace("#\<code\>.+?//tempstart\<br />#is", "<code>\n", $str);	$str = preg_replace("#//tempend.+#is", "</span>\n</code>", $str);		// Replace our markers back to PHP tags.	$str = str_replace(array('phptagopen', 'phptagclose', 'backslashtmp'), array('&lt;?php', '?&gt;', '\\'), $str); //<?					return $str;}	// ------------------------------------------------------------------------/** * Phrase Highlighter * * Highlights a phrase within a text string * * @access	public * @param	string	the text string * @param	string	the phrase you'd like to highlight * @param	string	the openging tag to precede the phrase with * @param	string	the closing tag to end the phrase with * @return	string */	function highlight_phrase($str, $phrase, $tag_open = '<strong>', $tag_close = '</strong>'){	if ($str == '')	{		return '';	}		if ($phrase != '')	{		return preg_replace('/('.preg_quote($phrase, '/').')/i', $tag_open."\\1".$tag_close, $str);	}	return $str;}	// ------------------------------------------------------------------------/** * Word Wrap * * Wraps text at the specified character.  Maintains the integrity of words. * Anything placed between {unwrap}{/unwrap} will not be word wrapped, nor * will URLs. * * @access	public * @param	string	the text string * @param	integer	the number of characters to wrap at * @return	string */	function word_wrap($str, $charlim = '76'){	// Se the character limit	if ( ! is_numeric($charlim))		$charlim = 76;		// Reduce multiple spaces	$str = preg_replace("| +|", " ", $str);		// Standardize newlines	$str = preg_replace("/\r\n|\r/", "\n", $str);		// If the current word is surrounded by {unwrap} tags we'll 	// strip the entire chunk and replace it with a marker.	$unwrap = array();	if (preg_match_all("|(\{unwrap\}.+?\{/unwrap\})|s", $str, $matches))	{		for ($i = 0; $i < count($matches['0']); $i++)		{			$unwrap[] = $matches['1'][$i];							$str = str_replace($matches['1'][$i], "{{unwrapped".$i."}}", $str);		}	}		// Use PHP's native function to do the initial wordwrap.  	// We set the cut flag to FALSE so that any individual words that are 	// too long get left alone.  In the next step we'll deal with them.	$str = wordwrap($str, $charlim, "\n", FALSE);		// Split the string into individual lines of text and cycle through them	$output = "";	foreach (explode("\n", $str) as $line) 	{		// Is the line within the allowed character count?		// If so we'll join it to the output and continue		if (strlen($line) <= $charlim)		{			$output .= $line."\n";						continue;		}					$temp = '';		while((strlen($line)) > $charlim) 		{			// If the over-length word is a URL we won't wrap it			if (preg_match("!\[url.+\]|://|wwww.!", $line))			{				break;			}			// Trim the word down			$temp .= substr($line, 0, $charlim-1);			$line = substr($line, $charlim-1);		}				// If $temp contains data it means we had to split up an over-length 		// word into smaller chunks so we'll add it back to our current line		if ($temp != '')		{			$output .= $temp . "\n" . $line; 		}		else		{			$output .= $line;		}		$output .= "\n";	}	// Put our markers back	if (count($unwrap) > 0)	{			foreach ($unwrap as $key => $val)		{			$output = str_replace("{{unwrapped".$key."}}", $val, $output);		}	}	// Remove the unwrap tags	$output = str_replace(array('{unwrap}', '{/unwrap}'), '', $output);	return $output;	} ?>
\ No newline at end of file
+<?php  if (!defined('BASEPATH')) exit('No direct script access allowed');
+/**
+ * CodeIgniter
+ *
+ * An open source application development framework for PHP 4.3.2 or newer
+ *
+ * @package		CodeIgniter
+ * @author		ExpressionEngine Dev Team
+ * @copyright	Copyright (c) 2006, EllisLab, Inc.
+ * @license		http://www.codeigniter.com/user_guide/license.html
+ * @link		http://www.codeigniter.com
+ * @since		Version 1.0
+ * @filesource
+ */
+
+// ------------------------------------------------------------------------
+
+/**
+ * CodeIgniter Text Helpers
+ *
+ * @package		CodeIgniter
+ * @subpackage	Helpers
+ * @category	Helpers
+ * @author		ExpressionEngine Dev Team
+ * @link		http://www.codeigniter.com/user_guide/helpers/text_helper.html
+ */
+
+// ------------------------------------------------------------------------
+
+/**
+ * Word Limiter
+ *
+ * Limits a string to X number of words.
+ *
+ * @access	public
+ * @param	string
+ * @param	integer
+ * @param	string	the end character. Usually an ellipsis
+ * @return	string
+ */	
+function word_limiter($str, $n = 100, $end_char = '&#8230;')
+{
+	if (strlen($str) < $n)
+	{
+		return $str;
+	}
+	
+	$words = explode(' ', preg_replace("/\s+/", ' ', preg_replace("/(\r\n|\r|\n)/", " ", $str)));
+	
+	if (count($words) <= $n)
+	{
+		return $str;
+	}
+			
+	$str = '';
+	for ($i = 0; $i < $n; $i++)
+	{
+		$str .= $words[$i].' ';
+	}
+
+	return trim($str).$end_char;
+}
+	
+// ------------------------------------------------------------------------
+
+/**
+ * Character Limiter
+ *
+ * Limits the string based on the character count.  Preserves complete words
+ * so the character count may not be exactly as specified.
+ *
+ * @access	public
+ * @param	string
+ * @param	integer
+ * @param	string	the end character. Usually an ellipsis
+ * @return	string
+ */	
+function character_limiter($str, $n = 500, $end_char = '&#8230;')
+{
+	if (strlen($str) < $n)
+	{
+		return $str;
+	}
+		
+	$str = preg_replace("/\s+/", ' ', preg_replace("/(\r\n|\r|\n)/", " ", $str));
+
+	if (strlen($str) <= $n)
+	{
+		return $str;
+	}
+									
+	$out = "";
+	foreach (explode(' ', trim($str)) as $val)
+	{
+		$out .= $val.' ';			
+		if (strlen($out) >= $n)
+		{
+			return trim($out).$end_char;
+		}		
+	}
+}
+	
+// ------------------------------------------------------------------------
+
+/**
+ * High ASCII to Entities
+ *
+ * Converts High ascii text and MS Word special characters to character entities
+ *
+ * @access	public
+ * @param	string
+ * @return	string
+ */	
+function ascii_to_entities($str)
+{
+   $count	= 1;
+   $out	= '';
+   $temp	= array();
+	
+   for ($i = 0, $s = strlen($str); $i < $s; $i++)
+   {
+	   $ordinal = ord($str[$i]);
+	
+	   if ($ordinal < 128)
+	   {
+		   $out .= $str[$i];
+	   }
+	   else
+	   {
+		   if (count($temp) == 0)
+		   {
+			   $count = ($ordinal < 224) ? 2 : 3;
+		   }
+		
+		   $temp[] = $ordinal;
+		
+		   if (count($temp) == $count)
+		   {
+			   $number = ($count == 3) ? (($temp['0'] % 16) * 4096) + (($temp['1'] % 64) * 64) + ($temp['2'] % 64) : (($temp['0'] % 32) * 64) + ($temp['1'] % 64);
+
+			   $out .= '&#'.$number.';';
+			   $count = 1;
+			   $temp = array();
+		   }
+	   }
+   }
+
+   return $out;
+}
+	
+// ------------------------------------------------------------------------
+
+/**
+ * Entities to ASCII
+ *
+ * Converts character entities back to ASCII
+ *
+ * @access	public
+ * @param	string
+ * @param	bool
+ * @return	string
+ */	
+function entities_to_ascii($str, $all = TRUE)
+{
+   if (preg_match_all('/\&#(\d+)\;/', $str, $matches))
+   {
+	   for ($i = 0, $s = count($matches['0']); $i < $s; $i++)
+	   {				
+		   $digits = $matches['1'][$i];
+
+		   $out = '';
+
+		   if ($digits < 128)
+		   {
+			   $out .= chr($digits);
+		
+		   }
+		   elseif ($digits < 2048)
+		   {
+			   $out .= chr(192 + (($digits - ($digits % 64)) / 64));
+			   $out .= chr(128 + ($digits % 64));
+		   }
+		   else
+		   {
+			   $out .= chr(224 + (($digits - ($digits % 4096)) / 4096));
+			   $out .= chr(128 + ((($digits % 4096) - ($digits % 64)) / 64));
+			   $out .= chr(128 + ($digits % 64));
+		   }
+
+		   $str = str_replace($matches['0'][$i], $out, $str);				
+	   }
+   }
+
+   if ($all)
+   {
+	   $str = str_replace(array("&amp;", "&lt;", "&gt;", "&quot;", "&apos;", "&#45;"),
+						  array("&","<",">","\"", "'", "-"),
+						  $str);
+   }
+
+   return $str;
+}
+	
+// ------------------------------------------------------------------------
+
+/**
+ * Word Censoring Function
+ *
+ * Supply a string and an array of disallowed words and any
+ * matched words will be converted to #### or to the replacement
+ * word you've submitted.
+ *
+ * @access	public
+ * @param	string	the text string
+ * @param	string	the array of censoered words
+ * @param	string	the optional replacement value
+ * @return	string
+ */	
+function word_censor($str, $censored, $replacement = '')
+{
+	if ( ! is_array($censored))
+	{
+		return $str;
+	}
+
+	$str = ' '.$str.' ';
+	foreach ($censored as $badword)
+	{
+		if ($replacement != '')
+		{
+			$str = preg_replace("/\b(".str_replace('\*', '\w*?', preg_quote($badword)).")\b/i", $replacement, $str);
+		}
+		else
+		{
+			$str = preg_replace("/\b(".str_replace('\*', '\w*?', preg_quote($badword)).")\b/ie", "str_repeat('#', strlen('\\1'))", $str);
+		}
+	}
+	
+	return trim($str);
+}
+	
+// ------------------------------------------------------------------------
+
+/**
+ * Code Highlighter
+ *
+ * Colorizes code strings
+ *
+ * @access	public
+ * @param	string	the text string
+ * @return	string
+ */	
+function highlight_code($str)
+{		
+	// The highlight string function encodes and highlights
+	// brackets so we need them to start raw
+	$str = str_replace(array('&lt;', '&gt;'), array('<', '>'), $str);
+	
+	// Replace any existing PHP tags to temporary markers so they don't accidentally
+	// break the string out of PHP, and thus, thwart the highlighting.
+	
+	$str = str_replace(array('&lt;?php', '?&gt;',  '\\'), array('phptagopen', 'phptagclose', 'backslashtmp'), $str);
+		
+	// The highlight_string function requires that the text be surrounded
+	// by PHP tags.  Since we don't know if A) the submitted text has PHP tags,
+	// or B) whether the PHP tags enclose the entire string, we will add our
+	// own PHP tags around the string along with some markers to make replacement easier later
+	
+	$str = '<?php //tempstart'."\n".$str.'//tempend ?>';
+	
+	// All the magic happens here, baby!
+	$str = highlight_string($str, TRUE);
+
+	// Prior to PHP 5, the highlight function used icky font tags
+	// so we'll replace them with span tags.	
+	if (abs(phpversion()) < 5)
+	{
+		$str = str_replace(array('<font ', '</font>'), array('<span ', '</span>'), $str);
+		$str = preg_replace('#color="(.*?)"#', 'style="color: \\1"', $str);
+	}
+	
+	// Remove our artificially added PHP
+	$str = preg_replace("#\<code\>.+?//tempstart\<br />\</span\>#is", "<code>\n", $str);
+	$str = preg_replace("#\<code\>.+?//tempstart\<br />#is", "<code>\n", $str);
+	$str = preg_replace("#//tempend.+#is", "</span>\n</code>", $str);
+	
+	// Replace our markers back to PHP tags.
+	$str = str_replace(array('phptagopen', 'phptagclose', 'backslashtmp'), array('&lt;?php', '?&gt;', '\\'), $str); //<?
+				
+	return $str;
+}
+	
+// ------------------------------------------------------------------------
+
+/**
+ * Phrase Highlighter
+ *
+ * Highlights a phrase within a text string
+ *
+ * @access	public
+ * @param	string	the text string
+ * @param	string	the phrase you'd like to highlight
+ * @param	string	the openging tag to precede the phrase with
+ * @param	string	the closing tag to end the phrase with
+ * @return	string
+ */	
+function highlight_phrase($str, $phrase, $tag_open = '<strong>', $tag_close = '</strong>')
+{
+	if ($str == '')
+	{
+		return '';
+	}
+	
+	if ($phrase != '')
+	{
+		return preg_replace('/('.preg_quote($phrase, '/').')/i', $tag_open."\\1".$tag_close, $str);
+	}
+
+	return $str;
+}
+	
+// ------------------------------------------------------------------------
+
+/**
+ * Word Wrap
+ *
+ * Wraps text at the specified character.  Maintains the integrity of words.
+ * Anything placed between {unwrap}{/unwrap} will not be word wrapped, nor
+ * will URLs.
+ *
+ * @access	public
+ * @param	string	the text string
+ * @param	integer	the number of characters to wrap at
+ * @return	string
+ */	
+function word_wrap($str, $charlim = '76')
+{
+	// Se the character limit
+	if ( ! is_numeric($charlim))
+		$charlim = 76;
+	
+	// Reduce multiple spaces
+	$str = preg_replace("| +|", " ", $str);
+	
+	// Standardize newlines
+	$str = preg_replace("/\r\n|\r/", "\n", $str);
+	
+	// If the current word is surrounded by {unwrap} tags we'll 
+	// strip the entire chunk and replace it with a marker.
+	$unwrap = array();
+	if (preg_match_all("|(\{unwrap\}.+?\{/unwrap\})|s", $str, $matches))
+	{
+		for ($i = 0; $i < count($matches['0']); $i++)
+		{
+			$unwrap[] = $matches['1'][$i];				
+			$str = str_replace($matches['1'][$i], "{{unwrapped".$i."}}", $str);
+		}
+	}
+	
+	// Use PHP's native function to do the initial wordwrap.  
+	// We set the cut flag to FALSE so that any individual words that are 
+	// too long get left alone.  In the next step we'll deal with them.
+	$str = wordwrap($str, $charlim, "\n", FALSE);
+	
+	// Split the string into individual lines of text and cycle through them
+	$output = "";
+	foreach (explode("\n", $str) as $line) 
+	{
+		// Is the line within the allowed character count?
+		// If so we'll join it to the output and continue
+		if (strlen($line) <= $charlim)
+		{
+			$output .= $line."\n";			
+			continue;
+		}
+			
+		$temp = '';
+		while((strlen($line)) > $charlim) 
+		{
+			// If the over-length word is a URL we won't wrap it
+			if (preg_match("!\[url.+\]|://|wwww.!", $line))
+			{
+				break;
+			}
+
+			// Trim the word down
+			$temp .= substr($line, 0, $charlim-1);
+			$line = substr($line, $charlim-1);
+		}
+		
+		// If $temp contains data it means we had to split up an over-length 
+		// word into smaller chunks so we'll add it back to our current line
+		if ($temp != '')
+		{
+			$output .= $temp . "\n" . $line; 
+		}
+		else
+		{
+			$output .= $line;
+		}
+
+		$output .= "\n";
+	}
+
+	// Put our markers back
+	if (count($unwrap) > 0)
+	{	
+		foreach ($unwrap as $key => $val)
+		{
+			$output = str_replace("{{unwrapped".$key."}}", $val, $output);
+		}
+	}
+
+	// Remove the unwrap tags
+	$output = str_replace(array('{unwrap}', '{/unwrap}'), '', $output);
+
+	return $output;	
+}
+ 
+
+?>
\ No newline at end of file
diff --git a/system/helpers/typography_helper.php b/system/helpers/typography_helper.php
index aa751db..b57ec6c 100644
--- a/system/helpers/typography_helper.php
+++ b/system/helpers/typography_helper.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -21,7 +21,7 @@
  * @package		CodeIgniter
  * @subpackage	Helpers
  * @category	Helpers
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/helpers/typography_helper.html
  */
 
@@ -82,8 +82,7 @@
  *
  * @access		private
  * @category	Helpers
- * @author		Rick Ellis
- * @author		Paul Burdick
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/helpers/
  */
 class Auto_typography {
diff --git a/system/helpers/url_helper.php b/system/helpers/url_helper.php
index b75ae6b..39ef484 100644
--- a/system/helpers/url_helper.php
+++ b/system/helpers/url_helper.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -21,7 +21,7 @@
  * @package		CodeIgniter
  * @subpackage	Helpers
  * @category	Helpers
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/helpers/url_helper.html
  */
 
diff --git a/system/helpers/xml_helper.php b/system/helpers/xml_helper.php
index e041bf9..8c39a75 100644
--- a/system/helpers/xml_helper.php
+++ b/system/helpers/xml_helper.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -21,7 +21,7 @@
  * @package		CodeIgniter
  * @subpackage	Helpers
  * @category	Helpers
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/helpers/xml_helper.html
  */
 
diff --git a/system/libraries/Benchmark.php b/system/libraries/Benchmark.php
index f677de7..88ef95c 100644
--- a/system/libraries/Benchmark.php
+++ b/system/libraries/Benchmark.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -24,7 +24,7 @@
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Libraries
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/libraries/benchmark.html
  */
 class CI_Benchmark {
diff --git a/system/libraries/Calendar.php b/system/libraries/Calendar.php
index b6f1223..5aa3cb6 100644
--- a/system/libraries/Calendar.php
+++ b/system/libraries/Calendar.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -23,7 +23,7 @@
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Libraries
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/libraries/calendar.html
  */
 class CI_Calendar {
diff --git a/system/libraries/Config.php b/system/libraries/Config.php
index 6c97cd8..92c60b4 100644
--- a/system/libraries/Config.php
+++ b/system/libraries/Config.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -23,7 +23,7 @@
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Libraries
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/libraries/config.html
  */
 class CI_Config {
diff --git a/system/libraries/Controller.php b/system/libraries/Controller.php
index 1b9a42a..d515bed 100644
--- a/system/libraries/Controller.php
+++ b/system/libraries/Controller.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -24,7 +24,7 @@
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Libraries
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/general/controllers.html
  */
 class Controller extends CI_Base {
diff --git a/system/libraries/Email.php b/system/libraries/Email.php
index cbf6e23..77e5bf5 100644
--- a/system/libraries/Email.php
+++ b/system/libraries/Email.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -23,7 +23,7 @@
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Libraries
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/libraries/email.html
  */
 class CI_Email {
diff --git a/system/libraries/Encrypt.php b/system/libraries/Encrypt.php
index 5b2b7c0..ccc470c 100644
--- a/system/libraries/Encrypt.php
+++ b/system/libraries/Encrypt.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -23,7 +23,7 @@
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Libraries
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/libraries/encryption.html
  */
 class CI_Encrypt {
diff --git a/system/libraries/Exceptions.php b/system/libraries/Exceptions.php
index 49d64aa..9223ff2 100644
--- a/system/libraries/Exceptions.php
+++ b/system/libraries/Exceptions.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -21,7 +21,7 @@
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Exceptions
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/libraries/exceptions.html
  */
 class CI_Exceptions {
diff --git a/system/libraries/Ftp.php b/system/libraries/Ftp.php
index b4bbd23..77a982f 100644
--- a/system/libraries/Ftp.php
+++ b/system/libraries/Ftp.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -21,7 +21,7 @@
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Libraries
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/libraries/ftp.html
  */ 
 class CI_FTP {
diff --git a/system/libraries/Hooks.php b/system/libraries/Hooks.php
index 15e1009..04cdd0a 100644
--- a/system/libraries/Hooks.php
+++ b/system/libraries/Hooks.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -24,7 +24,7 @@
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Libraries
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/libraries/encryption.html
  */
 class CI_Hooks {
diff --git a/system/libraries/Image_lib.php b/system/libraries/Image_lib.php
index 8922ea6..f563ada 100644
--- a/system/libraries/Image_lib.php
+++ b/system/libraries/Image_lib.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -21,7 +21,7 @@
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Image_lib
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/libraries/image_lib.html
  */
 class CI_Image_lib {
diff --git a/system/libraries/Input.php b/system/libraries/Input.php
index c18ea59..4044024 100644
--- a/system/libraries/Input.php
+++ b/system/libraries/Input.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -23,7 +23,7 @@
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Input
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/libraries/input.html
  */
 class CI_Input {
diff --git a/system/libraries/Language.php b/system/libraries/Language.php
index ffdbcf0..40816f9 100644
--- a/system/libraries/Language.php
+++ b/system/libraries/Language.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -21,7 +21,7 @@
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Language
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/libraries/language.html
  */
 class CI_Language {
diff --git a/system/libraries/Loader.php b/system/libraries/Loader.php
index 842e375..a61b963 100644
--- a/system/libraries/Loader.php
+++ b/system/libraries/Loader.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -22,7 +22,7 @@
  *
  * @package		CodeIgniter
  * @subpackage	Libraries
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @category	Loader
  * @link		http://www.codeigniter.com/user_guide/libraries/loader.html
  */
diff --git a/system/libraries/Log.php b/system/libraries/Log.php
index 79fec6c..2218add 100644
--- a/system/libraries/Log.php
+++ b/system/libraries/Log.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -21,7 +21,7 @@
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Logging
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/general/errors.html
  */
 class CI_Log {
diff --git a/system/libraries/Model.php b/system/libraries/Model.php
index e81d438..bfadd9a 100644
--- a/system/libraries/Model.php
+++ b/system/libraries/Model.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -21,7 +21,7 @@
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Libraries
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/libraries/config.html
  */
 class Model {
diff --git a/system/libraries/Output.php b/system/libraries/Output.php
index 7e13316..bafc9a1 100644
--- a/system/libraries/Output.php
+++ b/system/libraries/Output.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -23,7 +23,7 @@
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Output
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/libraries/output.html
  */
 class CI_Output {
diff --git a/system/libraries/Pagination.php b/system/libraries/Pagination.php
index 7696819..8c05736 100644
--- a/system/libraries/Pagination.php
+++ b/system/libraries/Pagination.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -21,7 +21,7 @@
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Pagination
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/libraries/pagination.html
  */
 class CI_Pagination {
diff --git a/system/libraries/Parser.php b/system/libraries/Parser.php
index 33cb121..8e4d604 100644
--- a/system/libraries/Parser.php
+++ b/system/libraries/Parser.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -21,7 +21,7 @@
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Parser
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/libraries/parser.html
  */
 class CI_Parser {
diff --git a/system/libraries/Profiler.php b/system/libraries/Profiler.php
index efd8e07..c4707c3 100644
--- a/system/libraries/Profiler.php
+++ b/system/libraries/Profiler.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -27,7 +27,7 @@
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Libraries
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/general/profiling.html
  */
 class CI_Profiler {
diff --git a/system/libraries/Router.php b/system/libraries/Router.php
index 4d04c00..685426a 100644
--- a/system/libraries/Router.php
+++ b/system/libraries/Router.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -22,7 +22,7 @@
  *
  * @package		CodeIgniter
  * @subpackage	Libraries
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @category	Libraries
  * @link		http://www.codeigniter.com/user_guide/general/routing.html
  */
diff --git a/system/libraries/Session.php b/system/libraries/Session.php
index 84bb3ee..5bc17f1 100644
--- a/system/libraries/Session.php
+++ b/system/libraries/Session.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -21,7 +21,7 @@
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Sessions
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/libraries/sessions.html
  */
 class CI_Session {
diff --git a/system/libraries/Sha1.php b/system/libraries/Sha1.php
index d282621..e9b724b 100644
--- a/system/libraries/Sha1.php
+++ b/system/libraries/Sha1.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -39,7 +39,7 @@
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Encryption
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/general/encryption.html
  */
 class CI_SHA {
diff --git a/system/libraries/Table.php b/system/libraries/Table.php
index d3e8828..f67b17e 100644
--- a/system/libraries/Table.php
+++ b/system/libraries/Table.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -23,7 +23,7 @@
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	HTML Tables
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/libraries/uri.html
  */
 class CI_Table {
diff --git a/system/libraries/Trackback.php b/system/libraries/Trackback.php
index 1d9be60..d325b7e 100644
--- a/system/libraries/Trackback.php
+++ b/system/libraries/Trackback.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -23,7 +23,7 @@
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Trackbacks
- * @author		Paul Burdick
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/libraries/trackback.html
  */
 class CI_Trackback {
diff --git a/system/libraries/URI.php b/system/libraries/URI.php
index 06a7893..139b52b 100644
--- a/system/libraries/URI.php
+++ b/system/libraries/URI.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -23,7 +23,7 @@
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	URI
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/libraries/uri.html
  */
 class CI_URI {
diff --git a/system/libraries/Unit_test.php b/system/libraries/Unit_test.php
index ccb2e68..4bf32d6 100644
--- a/system/libraries/Unit_test.php
+++ b/system/libraries/Unit_test.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -23,7 +23,7 @@
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	UnitTesting
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/libraries/uri.html
  */
 class CI_Unit_test {
diff --git a/system/libraries/Upload.php b/system/libraries/Upload.php
index 33ee947..d045fd2 100644
--- a/system/libraries/Upload.php
+++ b/system/libraries/Upload.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -21,7 +21,7 @@
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Uploads
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/libraries/file_uploading.html
  */
 class CI_Upload {
diff --git a/system/libraries/User_agent.php b/system/libraries/User_agent.php
index f80bb0b..7670d7b 100644
--- a/system/libraries/User_agent.php
+++ b/system/libraries/User_agent.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -23,7 +23,7 @@
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	User Agent
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/libraries/user_agent.html
  */
 class CI_User_agent {
diff --git a/system/libraries/Validation.php b/system/libraries/Validation.php
index 468f2ad..8441503 100644
--- a/system/libraries/Validation.php
+++ b/system/libraries/Validation.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -21,7 +21,7 @@
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Validation
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/libraries/validation.html
  */
 class CI_Validation {
diff --git a/system/libraries/Xmlrpc.php b/system/libraries/Xmlrpc.php
index 9204bea..4426ff4 100644
--- a/system/libraries/Xmlrpc.php
+++ b/system/libraries/Xmlrpc.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis, Paul Burdick
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -27,7 +27,7 @@
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	XML-RPC
- * @author		Paul Burdick
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/libraries/xmlrpc.html
  */
 class CI_Xmlrpc {
@@ -337,7 +337,7 @@
  * XML-RPC Client class
  *
  * @category	XML-RPC
- * @author		Paul Burdick
+ * @author		ExpressionEngine Dev Team 
  * @link		http://www.codeigniter.com/user_guide/libraries/xmlrpc.html
  */
 class XML_RPC_Client extends CI_Xmlrpc
@@ -415,7 +415,7 @@
  * XML-RPC Response class
  *
  * @category	XML-RPC
- * @author		Paul Burdick
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/libraries/xmlrpc.html
  */
 class XML_RPC_Response
@@ -595,7 +595,7 @@
  * XML-RPC Message class
  *
  * @category	XML-RPC
- * @author		Paul Burdick
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/libraries/xmlrpc.html
  */
 class XML_RPC_Message extends CI_Xmlrpc
@@ -1192,7 +1192,7 @@
  * XML-RPC Values class
  *
  * @category	XML-RPC
- * @author		Paul Burdick
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/libraries/xmlrpc.html
  */
 class XML_RPC_Values extends CI_Xmlrpc
diff --git a/system/libraries/Xmlrpcs.php b/system/libraries/Xmlrpcs.php
index bdbb85b..6854c8c 100644
--- a/system/libraries/Xmlrpcs.php
+++ b/system/libraries/Xmlrpcs.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis, Paul Burdick
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -31,7 +31,7 @@
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	XML-RPC
- * @author		Paul Burdick
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/libraries/xmlrpc.html
  */
 class CI_Xmlrpcs extends CI_Xmlrpc
diff --git a/system/libraries/Zip.php b/system/libraries/Zip.php
index d76d8c9..da40f8d 100644
--- a/system/libraries/Zip.php
+++ b/system/libraries/Zip.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -27,7 +27,7 @@
  * @package		CodeIgniter
  * @subpackage	Libraries
  * @category	Encryption
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/libraries/zip.html
  */
 class CI_Zip  {
diff --git a/system/plugins/captcha_pi.php b/system/plugins/captcha_pi.php
index 466e4f8..7e6a35f 100644
--- a/system/plugins/captcha_pi.php
+++ b/system/plugins/captcha_pi.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
diff --git a/system/plugins/js_calendar_pi.php b/system/plugins/js_calendar_pi.php
index 44d3fcc..a2259d6 100644
--- a/system/plugins/js_calendar_pi.php
+++ b/system/plugins/js_calendar_pi.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
diff --git a/system/scaffolding/Scaffolding.php b/system/scaffolding/Scaffolding.php
index 8ddb1af..bffc0ec 100644
--- a/system/scaffolding/Scaffolding.php
+++ b/system/scaffolding/Scaffolding.php
@@ -5,7 +5,7 @@
  * An open source application development framework for PHP 4.3.2 or newer
  *
  * @package		CodeIgniter
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @copyright	Copyright (c) 2006, EllisLab, Inc.
  * @license		http://www.codeigniter.com/user_guide/license.html
  * @link		http://www.codeigniter.com
@@ -22,7 +22,7 @@
  *
  * @package		CodeIgniter
  * @subpackage	Scaffolding
- * @author		Rick Ellis
+ * @author		ExpressionEngine Dev Team
  * @link		http://www.codeigniter.com/user_guide/general/scaffolding.html
  */
 class Scaffolding {
diff --git a/user_guide/changelog.html b/user_guide/changelog.html
index c516a4c..9ef6bd3 100644
--- a/user_guide/changelog.html
+++ b/user_guide/changelog.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/database/active_record.html b/user_guide/database/active_record.html
index 45cabdb..696b711 100644
--- a/user_guide/database/active_record.html
+++ b/user_guide/database/active_record.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 </head>
 <body>
diff --git a/user_guide/database/caching.html b/user_guide/database/caching.html
index 11cc3f5..9e007f9 100644
--- a/user_guide/database/caching.html
+++ b/user_guide/database/caching.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/database/call_function.html b/user_guide/database/call_function.html
index 6157acf..87ff2df 100644
--- a/user_guide/database/call_function.html
+++ b/user_guide/database/call_function.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/database/configuration.html b/user_guide/database/configuration.html
index f6097f2..b6126d9 100644
--- a/user_guide/database/configuration.html
+++ b/user_guide/database/configuration.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/database/connecting.html b/user_guide/database/connecting.html
index 96dd1f0..adf0c51 100644
--- a/user_guide/database/connecting.html
+++ b/user_guide/database/connecting.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/database/examples.html b/user_guide/database/examples.html
index bcda80f..434aa82 100644
--- a/user_guide/database/examples.html
+++ b/user_guide/database/examples.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/database/fields.html b/user_guide/database/fields.html
index ab09207..de5e021 100644
--- a/user_guide/database/fields.html
+++ b/user_guide/database/fields.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/database/forge.html b/user_guide/database/forge.html
index 90991a9..0a40454 100644
--- a/user_guide/database/forge.html
+++ b/user_guide/database/forge.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/database/helpers.html b/user_guide/database/helpers.html
index 93b9a6d..6567c02 100644
--- a/user_guide/database/helpers.html
+++ b/user_guide/database/helpers.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/database/index.html b/user_guide/database/index.html
index d4319b9..6ad90e9 100644
--- a/user_guide/database/index.html
+++ b/user_guide/database/index.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/database/queries.html b/user_guide/database/queries.html
index 3ff8cc7..21b550a 100644
--- a/user_guide/database/queries.html
+++ b/user_guide/database/queries.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/database/results.html b/user_guide/database/results.html
index 31b0756..6c6142c 100644
--- a/user_guide/database/results.html
+++ b/user_guide/database/results.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/database/table_data.html b/user_guide/database/table_data.html
index 16c3bba..c5d2aaa 100644
--- a/user_guide/database/table_data.html
+++ b/user_guide/database/table_data.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/database/transactions.html b/user_guide/database/transactions.html
index 3adf019..19f091e 100644
--- a/user_guide/database/transactions.html
+++ b/user_guide/database/transactions.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/database/utilities.html b/user_guide/database/utilities.html
index cdf3f68..56a728b 100644
--- a/user_guide/database/utilities.html
+++ b/user_guide/database/utilities.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/general/alternative_php.html b/user_guide/general/alternative_php.html
index 1db1727..a91af15 100644
--- a/user_guide/general/alternative_php.html
+++ b/user_guide/general/alternative_php.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/general/ancillary_classes.html b/user_guide/general/ancillary_classes.html
index 8486908..148850e 100644
--- a/user_guide/general/ancillary_classes.html
+++ b/user_guide/general/ancillary_classes.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/general/autoloader.html b/user_guide/general/autoloader.html
index 0ece5b0..8d000a9 100644
--- a/user_guide/general/autoloader.html
+++ b/user_guide/general/autoloader.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/general/caching.html b/user_guide/general/caching.html
index 67b1dd8..5cf8116 100644
--- a/user_guide/general/caching.html
+++ b/user_guide/general/caching.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/general/controllers.html b/user_guide/general/controllers.html
index b85c6e1..3b25087 100644
--- a/user_guide/general/controllers.html
+++ b/user_guide/general/controllers.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/general/core_classes.html b/user_guide/general/core_classes.html
index b284e4f..9ba027c 100644
--- a/user_guide/general/core_classes.html
+++ b/user_guide/general/core_classes.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/general/creating_libraries.html b/user_guide/general/creating_libraries.html
index d489963..38ad107 100644
--- a/user_guide/general/creating_libraries.html
+++ b/user_guide/general/creating_libraries.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/general/credits.html b/user_guide/general/credits.html
index 48a705c..eb1d4b8 100644
--- a/user_guide/general/credits.html
+++ b/user_guide/general/credits.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/general/errors.html b/user_guide/general/errors.html
index 9da97b4..4db0c4d 100644
--- a/user_guide/general/errors.html
+++ b/user_guide/general/errors.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/general/helpers.html b/user_guide/general/helpers.html
index 0ac7107..65e549c 100644
--- a/user_guide/general/helpers.html
+++ b/user_guide/general/helpers.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/general/hooks.html b/user_guide/general/hooks.html
index 7e564ba..0441aca 100644
--- a/user_guide/general/hooks.html
+++ b/user_guide/general/hooks.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/general/index.html b/user_guide/general/index.html
index e5d0f11..a220042 100644
--- a/user_guide/general/index.html
+++ b/user_guide/general/index.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/general/libraries.html b/user_guide/general/libraries.html
index 24b47a5..3ae4c58 100644
--- a/user_guide/general/libraries.html
+++ b/user_guide/general/libraries.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/general/managing_apps.html b/user_guide/general/managing_apps.html
index 747b5f3..3cc899e 100644
--- a/user_guide/general/managing_apps.html
+++ b/user_guide/general/managing_apps.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/general/models.html b/user_guide/general/models.html
index 8aea194..3164669 100644
--- a/user_guide/general/models.html
+++ b/user_guide/general/models.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/general/plugins.html b/user_guide/general/plugins.html
index 5b84d7a..a34f368 100644
--- a/user_guide/general/plugins.html
+++ b/user_guide/general/plugins.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/general/profiling.html b/user_guide/general/profiling.html
index ebcdb41..f9c937d 100644
--- a/user_guide/general/profiling.html
+++ b/user_guide/general/profiling.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/general/quick_reference.html b/user_guide/general/quick_reference.html
index b57673c..9dd9e9e 100644
--- a/user_guide/general/quick_reference.html
+++ b/user_guide/general/quick_reference.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/general/requirements.html b/user_guide/general/requirements.html
index 1849dda..df63b91 100644
--- a/user_guide/general/requirements.html
+++ b/user_guide/general/requirements.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/general/routing.html b/user_guide/general/routing.html
index 88e13ff..9b29c3f 100644
--- a/user_guide/general/routing.html
+++ b/user_guide/general/routing.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/general/scaffolding.html b/user_guide/general/scaffolding.html
index 25f20a5..27ee209 100644
--- a/user_guide/general/scaffolding.html
+++ b/user_guide/general/scaffolding.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/general/security.html b/user_guide/general/security.html
index 8c9c6c8..9a48c7e 100644
--- a/user_guide/general/security.html
+++ b/user_guide/general/security.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/general/urls.html b/user_guide/general/urls.html
index c8e3c67..f3a01e5 100644
--- a/user_guide/general/urls.html
+++ b/user_guide/general/urls.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/general/views.html b/user_guide/general/views.html
index eba4573..83be4d4 100644
--- a/user_guide/general/views.html
+++ b/user_guide/general/views.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/helpers/array_helper.html b/user_guide/helpers/array_helper.html
index 8dd8cc7..a9c443c 100644
--- a/user_guide/helpers/array_helper.html
+++ b/user_guide/helpers/array_helper.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/helpers/cookie_helper.html b/user_guide/helpers/cookie_helper.html
index f902592..37167d8 100644
--- a/user_guide/helpers/cookie_helper.html
+++ b/user_guide/helpers/cookie_helper.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/helpers/date_helper.html b/user_guide/helpers/date_helper.html
index ea2612e..73a980a 100644
--- a/user_guide/helpers/date_helper.html
+++ b/user_guide/helpers/date_helper.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/helpers/directory_helper.html b/user_guide/helpers/directory_helper.html
index c3b35c5..fcb10cc 100644
--- a/user_guide/helpers/directory_helper.html
+++ b/user_guide/helpers/directory_helper.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/helpers/download_helper.html b/user_guide/helpers/download_helper.html
index 55f13db..ff9bd2e 100644
--- a/user_guide/helpers/download_helper.html
+++ b/user_guide/helpers/download_helper.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/helpers/file_helper.html b/user_guide/helpers/file_helper.html
index 646956c..29a8594 100644
--- a/user_guide/helpers/file_helper.html
+++ b/user_guide/helpers/file_helper.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/helpers/form_helper.html b/user_guide/helpers/form_helper.html
index bc9c890..cc2dda1 100644
--- a/user_guide/helpers/form_helper.html
+++ b/user_guide/helpers/form_helper.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/helpers/html_helper.html b/user_guide/helpers/html_helper.html
index 564f4e6..c3133a1 100644
--- a/user_guide/helpers/html_helper.html
+++ b/user_guide/helpers/html_helper.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/helpers/index.html b/user_guide/helpers/index.html
index 2946641..23fb245 100644
--- a/user_guide/helpers/index.html
+++ b/user_guide/helpers/index.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/helpers/inflector_helper.html b/user_guide/helpers/inflector_helper.html
index 917e0cc..699be58 100644
--- a/user_guide/helpers/inflector_helper.html
+++ b/user_guide/helpers/inflector_helper.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/helpers/security_helper.html b/user_guide/helpers/security_helper.html
index 6032d68..4cd5d6e 100644
--- a/user_guide/helpers/security_helper.html
+++ b/user_guide/helpers/security_helper.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/helpers/smiley_helper.html b/user_guide/helpers/smiley_helper.html
index c9b86c8..50b095f 100644
--- a/user_guide/helpers/smiley_helper.html
+++ b/user_guide/helpers/smiley_helper.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/helpers/string_helper.html b/user_guide/helpers/string_helper.html
index 74be230..206c5ea 100644
--- a/user_guide/helpers/string_helper.html
+++ b/user_guide/helpers/string_helper.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/helpers/text_helper.html b/user_guide/helpers/text_helper.html
index 217689c..43db044 100644
--- a/user_guide/helpers/text_helper.html
+++ b/user_guide/helpers/text_helper.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/helpers/typography_helper.html b/user_guide/helpers/typography_helper.html
index e3d18f8..5a28384 100644
--- a/user_guide/helpers/typography_helper.html
+++ b/user_guide/helpers/typography_helper.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/helpers/url_helper.html b/user_guide/helpers/url_helper.html
index 854d06a..d28b695 100644
--- a/user_guide/helpers/url_helper.html
+++ b/user_guide/helpers/url_helper.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/helpers/xml_helper.html b/user_guide/helpers/xml_helper.html
index 47082a5..936f1e8 100644
--- a/user_guide/helpers/xml_helper.html
+++ b/user_guide/helpers/xml_helper.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/index.html b/user_guide/index.html
index 69c90fc..62ebcbc 100644
--- a/user_guide/index.html
+++ b/user_guide/index.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/installation/downloads.html b/user_guide/installation/downloads.html
index e1b7605..03ce391 100644
--- a/user_guide/installation/downloads.html
+++ b/user_guide/installation/downloads.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/installation/index.html b/user_guide/installation/index.html
index c31c661..89bd256 100644
--- a/user_guide/installation/index.html
+++ b/user_guide/installation/index.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/installation/troubleshooting.html b/user_guide/installation/troubleshooting.html
index ceff6a5..8012261 100644
--- a/user_guide/installation/troubleshooting.html
+++ b/user_guide/installation/troubleshooting.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/installation/upgrade_120.html b/user_guide/installation/upgrade_120.html
index ee4b1b2..01ffa0a 100644
--- a/user_guide/installation/upgrade_120.html
+++ b/user_guide/installation/upgrade_120.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/installation/upgrade_130.html b/user_guide/installation/upgrade_130.html
index 9a5f7d7..202cc33 100644
--- a/user_guide/installation/upgrade_130.html
+++ b/user_guide/installation/upgrade_130.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/installation/upgrade_131.html b/user_guide/installation/upgrade_131.html
index 0edef1d..3219540 100644
--- a/user_guide/installation/upgrade_131.html
+++ b/user_guide/installation/upgrade_131.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/installation/upgrade_132.html b/user_guide/installation/upgrade_132.html
index e3cd1ab..2cf13cc 100644
--- a/user_guide/installation/upgrade_132.html
+++ b/user_guide/installation/upgrade_132.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/installation/upgrade_133.html b/user_guide/installation/upgrade_133.html
index ece73a5..9bd50ac 100644
--- a/user_guide/installation/upgrade_133.html
+++ b/user_guide/installation/upgrade_133.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/installation/upgrade_140.html b/user_guide/installation/upgrade_140.html
index 04e68f3..6ee915f 100644
--- a/user_guide/installation/upgrade_140.html
+++ b/user_guide/installation/upgrade_140.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/installation/upgrade_141.html b/user_guide/installation/upgrade_141.html
index ff4bcc3..90bb62a 100644
--- a/user_guide/installation/upgrade_141.html
+++ b/user_guide/installation/upgrade_141.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/installation/upgrade_150.html b/user_guide/installation/upgrade_150.html
index 9a3e801..a6c93e8 100644
--- a/user_guide/installation/upgrade_150.html
+++ b/user_guide/installation/upgrade_150.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/installation/upgrade_152.html b/user_guide/installation/upgrade_152.html
index 22d8d28..d0a19ba 100644
--- a/user_guide/installation/upgrade_152.html
+++ b/user_guide/installation/upgrade_152.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/installation/upgrade_153.html b/user_guide/installation/upgrade_153.html
index 54dabda..5671b48 100644
--- a/user_guide/installation/upgrade_153.html
+++ b/user_guide/installation/upgrade_153.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/installation/upgrade_154.html b/user_guide/installation/upgrade_154.html
index c1c90b3..07dfa5d 100644
--- a/user_guide/installation/upgrade_154.html
+++ b/user_guide/installation/upgrade_154.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/installation/upgrade_155.html b/user_guide/installation/upgrade_155.html
index 95dc310..33f6d6d 100644
--- a/user_guide/installation/upgrade_155.html
+++ b/user_guide/installation/upgrade_155.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/installation/upgrade_160.html b/user_guide/installation/upgrade_160.html
index 9aa15b2..dffbb76 100644
--- a/user_guide/installation/upgrade_160.html
+++ b/user_guide/installation/upgrade_160.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/installation/upgrade_b11.html b/user_guide/installation/upgrade_b11.html
index a57d552..09e93c0 100644
--- a/user_guide/installation/upgrade_b11.html
+++ b/user_guide/installation/upgrade_b11.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/installation/upgrading.html b/user_guide/installation/upgrading.html
index fb931bb..fccebe0 100644
--- a/user_guide/installation/upgrading.html
+++ b/user_guide/installation/upgrading.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/libraries/benchmark.html b/user_guide/libraries/benchmark.html
index af83f8e..1a91abf 100644
--- a/user_guide/libraries/benchmark.html
+++ b/user_guide/libraries/benchmark.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/libraries/calendar.html b/user_guide/libraries/calendar.html
index 698df01..5e4e30c 100644
--- a/user_guide/libraries/calendar.html
+++ b/user_guide/libraries/calendar.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/libraries/config.html b/user_guide/libraries/config.html
index 67352ad..bf653fe 100644
--- a/user_guide/libraries/config.html
+++ b/user_guide/libraries/config.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/libraries/email.html b/user_guide/libraries/email.html
index c59374c..01085d5 100644
--- a/user_guide/libraries/email.html
+++ b/user_guide/libraries/email.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/libraries/encryption.html b/user_guide/libraries/encryption.html
index f3b3d44..c4499a8 100644
--- a/user_guide/libraries/encryption.html
+++ b/user_guide/libraries/encryption.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/libraries/file_uploading.html b/user_guide/libraries/file_uploading.html
index 46865ac..46f6120 100644
--- a/user_guide/libraries/file_uploading.html
+++ b/user_guide/libraries/file_uploading.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/libraries/ftp.html b/user_guide/libraries/ftp.html
index 5858119..87309f8 100644
--- a/user_guide/libraries/ftp.html
+++ b/user_guide/libraries/ftp.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/libraries/image_lib.html b/user_guide/libraries/image_lib.html
index 39c1bd2..1cca5bc 100644
--- a/user_guide/libraries/image_lib.html
+++ b/user_guide/libraries/image_lib.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/libraries/input.html b/user_guide/libraries/input.html
index 2bca88a..e1c5fcb 100644
--- a/user_guide/libraries/input.html
+++ b/user_guide/libraries/input.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/libraries/language.html b/user_guide/libraries/language.html
index 3ee6200..38fd4ae 100644
--- a/user_guide/libraries/language.html
+++ b/user_guide/libraries/language.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/libraries/loader.html b/user_guide/libraries/loader.html
index 6aec87c..56ccc21 100644
--- a/user_guide/libraries/loader.html
+++ b/user_guide/libraries/loader.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/libraries/output.html b/user_guide/libraries/output.html
index 2d13195..827cc8b 100644
--- a/user_guide/libraries/output.html
+++ b/user_guide/libraries/output.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/libraries/pagination.html b/user_guide/libraries/pagination.html
index e05a6e8..f8389f9 100644
--- a/user_guide/libraries/pagination.html
+++ b/user_guide/libraries/pagination.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/libraries/parser.html b/user_guide/libraries/parser.html
index dab6937..8bf4afd 100644
--- a/user_guide/libraries/parser.html
+++ b/user_guide/libraries/parser.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/libraries/sessions.html b/user_guide/libraries/sessions.html
index 9fca09b..86d6e16 100644
--- a/user_guide/libraries/sessions.html
+++ b/user_guide/libraries/sessions.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/libraries/table.html b/user_guide/libraries/table.html
index 93eb38d..59930d4 100644
--- a/user_guide/libraries/table.html
+++ b/user_guide/libraries/table.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/libraries/trackback.html b/user_guide/libraries/trackback.html
index 096e16a..d816fab 100644
--- a/user_guide/libraries/trackback.html
+++ b/user_guide/libraries/trackback.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/libraries/unit_testing.html b/user_guide/libraries/unit_testing.html
index 1f37649..0143c9c 100644
--- a/user_guide/libraries/unit_testing.html
+++ b/user_guide/libraries/unit_testing.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/libraries/uri.html b/user_guide/libraries/uri.html
index 2306d82..180e56c 100644
--- a/user_guide/libraries/uri.html
+++ b/user_guide/libraries/uri.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/libraries/user_agent.html b/user_guide/libraries/user_agent.html
index ab37935..1d11fbd 100644
--- a/user_guide/libraries/user_agent.html
+++ b/user_guide/libraries/user_agent.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/libraries/validation.html b/user_guide/libraries/validation.html
index 30de0fd..377503b 100644
--- a/user_guide/libraries/validation.html
+++ b/user_guide/libraries/validation.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/libraries/xmlrpc.html b/user_guide/libraries/xmlrpc.html
index 0391279..a44f8bd 100644
--- a/user_guide/libraries/xmlrpc.html
+++ b/user_guide/libraries/xmlrpc.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/libraries/zip.html b/user_guide/libraries/zip.html
index a2ef6c4..23e7587 100644
--- a/user_guide/libraries/zip.html
+++ b/user_guide/libraries/zip.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/license.html b/user_guide/license.html
index ddee1c0..b823025 100644
--- a/user_guide/license.html
+++ b/user_guide/license.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/overview/appflow.html b/user_guide/overview/appflow.html
index 2a3d52f..2a7e562 100644
--- a/user_guide/overview/appflow.html
+++ b/user_guide/overview/appflow.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/overview/at_a_glance.html b/user_guide/overview/at_a_glance.html
index 7fe9153..665d0a5 100644
--- a/user_guide/overview/at_a_glance.html
+++ b/user_guide/overview/at_a_glance.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/overview/features.html b/user_guide/overview/features.html
index 14bace8..4d380b7 100644
--- a/user_guide/overview/features.html
+++ b/user_guide/overview/features.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/overview/goals.html b/user_guide/overview/goals.html
index 738c91d..61d156b 100644
--- a/user_guide/overview/goals.html
+++ b/user_guide/overview/goals.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/overview/index.html b/user_guide/overview/index.html
index 66622b4..7a05862 100644
--- a/user_guide/overview/index.html
+++ b/user_guide/overview/index.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/overview/mvc.html b/user_guide/overview/mvc.html
index 868c961..603e58a 100644
--- a/user_guide/overview/mvc.html
+++ b/user_guide/overview/mvc.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
diff --git a/user_guide/toc.html b/user_guide/toc.html
index 5bd0a38..3c6b827 100644
--- a/user_guide/toc.html
+++ b/user_guide/toc.html
@@ -16,7 +16,7 @@
 <meta http-equiv='expires' content='-1' />
 <meta http-equiv= 'pragma' content='no-cache' />
 <meta name='robots' content='all' />
-<meta name='author' content='Rick Ellis' />
+<meta name='author' content='ExpressionEngine Dev Team' />
 <meta name='description' content='CodeIgniter User Guide' />
 
 </head>
